GD库生成的图片,剪切圆形图时自带黑边框
使用PHP的GD库生成海报,再对二维码剪切成圆形放到指定位置,代码都是我网上找到拼在一起的,但是现在还是遇到二维码已经剪切成圆形了,但是图片竟然自带黑边框。本地生成的图片是透明的,所以问下有没有解决办法。谢谢了。
问题:
本地生成的图片:
代码:
$w = 200; $h=200; // original size
$original_path= $url;
$dest_path = $path.uniqid().'.png';
$src = imagecreatefromstring(file_get_contents($original_path));
$per = 2.6;
$w = $w*$per;
$h = $h*$per;
$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);
}
}
imagesavealpha($newpic, true);
imagepng($newpic, $dest_path);
imagedestroy($newpic);
imagedestroy($src);
return $dest_path;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
设置一个header("Content-type:image/png")试试?
解决了吗,老哥