public function circularImg($img, $savPath, $w = 0) { $src = imagecreatefromstring(file_get_contents($img)); //获取网络资源文件 if ($w == 0) { $wh = getimagesize($img); $w = $wh[0]; $h = $wh[0]; $w = min($w, $h); } $h = $w; $newpic = imagecreatetruecolor($w, $h); imagealphablending($newpic, false); //设定图像的混色模式 $transparent = imagecolorallocatealpha($newpic, 255, 255, 255, 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); //imagesetpixel() 在 image 图像中用 color 颜色在 x,y 坐标(图像左上角为 0,0)上画一个点。 } } imagesavealpha($newpic, true); imagepng($newpic, $savPath); imagedestroy($newpic); imagedestroy($src); return $savPath; }
php把图片转成圆形
最新推荐文章于 2021-03-19 04:05:41 发布