|
本文实例讲述了php实现背景图上添加圆形logo图标的方法。分享给大家供大家参考,具体如下:
说一下步骤:
总共分 3 步:
1. 压缩logo 成固定大小的方形图片
2. 将logo 转成圆形logo
3. 将logo与背景图合并
废话不多说,直接上代码:
load->library('curl');
}
/**
* @todo : 本函数用于 将方形的图片压缩后
* 再裁减成圆形 做成logo
* 与背景图合并
* @return 返回url
*/
public function index(){
//头像
$head'a.jpg';
//背景图
$bgurl = './aa.png';
$['dst'] = $bgurl;
//第一步 压缩图片
$$this->resize_img($head);
//第二步 裁减成圆角图片
$['src'] = $this->test($);
//第三步 合并图片
$dest = $this->mergerImg($);
}
public function resize_img($url,$path='./'){
$$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, $); //输出压缩后的图片
imagedestroy($dst_im);
imagedestroy($src_im);
return $;
}
//第一步生成圆角图片
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
结果展示:
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP图形与图片操作技巧汇总》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
您可能感兴趣的文章:使用PHP生成二维码的两种方法(带logo图像)PHP实现生成透明背景的PNG缩略图函数分享PHP下通过QRCode类库创建中间带网站LOGO的二维码php缩放gif和png图透明背景变成黑色的解决方法PHP图片处理之图片背景、画布操作PHP实现批量生成App各种尺寸LogoPHP基于phpqrcode生成带LOGO图像的二维码实例PHP实现对png图像进行缩放的方法(支持透明背景)php生成带logo二维码方法小结Thinkphp3.2.3整合phpqrcode生成带logo的二维码PHP实现生成带背景的图形验证码功能
|
|