首页 > 技术教程 > Thinkphp 将图片处理为圆角功能,可做圆形图片,保持透明

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、本站一律禁止以任何方式发布或转载任何违法的相关信息,如有发现请向站长举报