Maison >développement back-end >tutoriel php >php 实现背景图上添加 圆形logo 淘宝页面背景图 微博背景图 ppt如何设置背景

php 实现背景图上添加 圆形logo 淘宝页面背景图 微博背景图 ppt如何设置背景

WBOY
WBOYoriginal
2016-07-29 08:49:051505parcourir

说一下步骤:

总共分 3 步:

1. 压缩logo 成固定大小的方形图片

2. 将logo 转成圆形logo

3. 将logo与背景图合并

废话不多说,直接上代码:

<?php /**
 * 作者:friker
 * 开发时间:20160516
 * 功能:图片处理
 *
 */
class ImageController extends CI_Controller{

	public function __construct()
	{
		parent::__construct();
		date_default_timezone_set(&#39;Asia/Shanghai&#39;);
		error_reporting( E_ALL&~E_NOTICE&~E_WARNING);
		$this->load->library('curl');
	}

	/**
	 * @todo : 本函数用于 将方形的图片压缩后
	 *         再裁减成圆形 做成logo
	 *         与背景图合并
	 * @return 返回url
	 */
	public function index(){
		//头像
		$headimgurl = 'a.jpg';
		//背景图
		$bgurl = './aa.png';
		$imgs['dst'] = $bgurl;
		//第一步 压缩图片
		$imggzip = $this->resize_img($headimgurl);
		//第二步 裁减成圆角图片
		$imgs['src'] = $this->test($imggzip);
		//第三步 合并图片
		$dest = $this->mergerImg($imgs);
	}

	public function resize_img($url,$path='./'){
		$imgname = $path.uniqid().'.jpg';
		$file = $url;
		list($width, $height) = getimagesize($file); //获取原图尺寸
		$percent = (110/$width);
		//缩放尺寸
		$newwidth = $width * $percent;
		$newheight = $height * $percent;
		$src_im = imagecreatefromjpeg($file);
		$dst_im = imagecreatetruecolor($newwidth, $newheight);
		imagecopyresized($dst_im, $src_im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
		imagejpeg($dst_im, $imgname); //输出压缩后的图片
		imagedestroy($dst_im);
		imagedestroy($src_im);
		return $imgname;
	}

	//第一步生成圆角图片
	public function test($url,$path='./'){
		$w = 110;  $h=110; // original size
	    $original_path= $url;
	    $dest_path = $path.uniqid().'.png';
	    $src = imagecreatefromstring(file_get_contents($original_path));
	    $newpic = imagecreatetruecolor($w,$h);
	    imagealphablending($newpic,false);
	    $transparent = imagecolorallocatealpha($newpic, 0, 0, 0, 127);
	    $r=$w/2;
	    for($x=0;$x<br><span>结果展示:</span><p><span><img src="http://image.codes51.com/Article/image/20160516/20160516180604_3910.png" alt="公司logo背景图,透明logo背景图,背景图,ppt背景图,黑色背景图,蓝色背景图,淘宝页面背景图,微博背景图,ppt如何设置背景"><br></span></p>
                
                
                <p>
                    以上就介绍了php 实现背景图上添加 圆形logo,包括了logo,背景图方面的内容,希望对PHP教程有兴趣的朋友有所帮助。</p>
                <p>
                    </p>
             
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn