失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > php实现背景图上添加圆形logo图标

php实现背景图上添加圆形logo图标

时间:2018-08-31 08:10:29

相关推荐

php实现背景图上添加圆形logo图标

后端开发|php教程

php,圆形,添加

后端开发-php教程说一下步骤:

夺宝源码 乐清一元杀,vscode远程编译部署,ubuntu编写nasm,jsp tomcat端口,sqlite 需要安装库吗,付费插件破解,搭建前端框架开发脚手架,最简单的网络爬虫教程,php 数组范围,哈尔滨谷歌seo公司,自动生成表白网站源码,个人介绍网页模板html,dede化妆品免费模板下载lzw

总共分 3 步:

淘宝客源码代理,显卡驱动Ubuntu安装,pathon实现明星爬虫,php技术管理人才学习,网站初期 seolzw

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

2. 将logo 转成圆形logo

3. 将logo与背景图合并

微信好友检测源码,ubuntu挂载双硬盘,服务器和tomcat,爬虫请求太慢,redis延迟队列 实现php,做seo公司专注乐云seolzw

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

load->library(curl); } /** * @todo : 本函数用于 将方形的图片压缩后 *再裁减成圆形 做成logo *与背景图合并 * @return 返回url */ public function index(){ //头像 $headimgurl = a.jpg; //背景图 $bgurl = ./aa.jpg; $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()..jpg; $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<$w;$x++)for($y=0;$y<$h;$y++){ $c = imagecolorat($src,$x,$y); $_x = $x - $w/2; $_y = $y - $h/2; if((($_x*$_x) + ($_y*$_y)) < ($r*$r)){imagesetpixel($newpic,$x,$y,$c); }else{imagesetpixel($newpic,$x,$y,$transparent); }} imagesavealpha($newpic, true); // header(Content-Type: image/png); imagepng($newpic, $dest_path); imagedestroy($newpic); imagedestroy($src); unlink($url); return $dest_path; } //php 合并图片 public function mergerImg($imgs,$path=./) { $imgname = $path.rand(1000,9999).uniqid()..jpg; list($max_width, $max_height) = getimagesize($imgs[dst]); $dests = imagecreatetruecolor($max_width, $max_height); $dst_im = imagecreatefrompng($imgs[dst]); imagecopy($dests,$dst_im,0,0,0,0,$max_width,$max_height); imagedestroy($dst_im); $src_im = imagecreatefrompng($imgs[src]); $src_info = getimagesize($imgs[src]); imagecopy($dests,$src_im,270,202,0,0,$src_info[0],$src_info[1]); imagedestroy($src_im); // var_dump($imgs);exit; // header("Content-type: image/jpeg"); imagejpeg($dests,$imgname); // unlink($imgs[dst]); unlink($imgs[src]); return $imgname; }}

结果展示:

如果觉得《php实现背景图上添加圆形logo图标》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。