手順について説明します:
全部で 3 つのステップがあります:
1. ロゴを固定サイズの正方形の画像に圧縮します
2. ロゴを丸いロゴに変換します
3. ロゴと背景画像を結合します
早速、コードに直接進みましょう:
<?php /** * 作者:friker * 开发时间:20160516 * 功能:图片处理 * */ class ImageController extends CI_Controller{ public function __construct() { parent::__construct(); date_default_timezone_set('Asia/Shanghai'); 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="PHP は、背景画像に円形のロゴを追加する実装を実装します。 淘宝網ページの背景画像。 Weibo の背景画像。 ppt の背景を設定する方法。"><br></span></p> <p> 上記では、PHP で背景画像に円形のロゴを追加する方法を、ロゴと背景画像を含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。 </p> <p> </p>