Thinkphp 将图片处理为圆角功能,可做圆形图片,保持透明
用thinkphp5将图片处理成圆角,参考网友的资料,将下方方法加到Image.php中即可
function round_img() { $w = $this->info['width']; $h = $this->info['height']; $w = min($w, $h); $h = $w; $img = imagecreatetruecolor($w, $h); //这一句一定要有 imagesavealpha($img, true); //拾取一个完全透明的颜色,最后一个参数127为全透明 $bg = imagecolorallocatealpha($img, 255, 255, 255, 127); imagefill($img, 0, 0, $bg); $r = $w / 2; //圆半径 $y_x = $r; //圆心X坐标 $y_y = $r; //圆心Y坐标 for ($x = 0; $x < $w; $x++) { for ($y = 0; $y < $h; $y++) { $rgbColor = imagecolorat($this->im, $x, $y); if (((($x - $r) * ($x - $r) + ($y - $r) * ($y - $r)) < ($r * $r))) { imagesetpixel($img, $x, $y, $rgbColor); } } } $this->im= $img; return $this; } 加入到 Image.php 调用 $result= $image->thumb($w,$h,\think\Image::THUMB_AUTO)->round()->save($temp_path."/".$image_name);
然后调用:
$image->thumb($imgx, $imgy, \think\Image::THUMB_CENTER)->round_img(15)->save($path);
round_img(15) 其中15是圆角半径长度
文章版权声明
1、本网站名称:阿V编程
2、本站永久网址:https://www.1892zyw.com
3、本网站的部分文章内容/部分资源可能来源于网络,仅提供给大家学习或参考,如有侵权,请联系站长QQ进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,如有发现请向站长举报