我在旋转PNG图像时遇到问题,并且保持质量与未旋转时的质量一样高。它也失去了透明度。
以下是我用来旋转它的代码:
$source = imagecreatefrompng('cake-test.png');
$col = imagecolorexact($source, 255, 255, 255);
imagecolortransparent($source, $col) ;
$rotate = imagerotate($source, 10, 0);
imagepng($rotate, 'temp.png') ;
创建的图像在边缘周围显示所有别名并且没有透明度。有谁知道如何让它工作或有他们愿意分享的功能?
谢谢!我在图像所在的div上设置了背景,现在看起来很好。
答案 0 :(得分:2)
您必须使用imagecolorallocatealpha
分配Alpha通道并将imagesavealpha
设置为true。
试试这个:
$source = imagecreatefrompng('cake-test.png');
$bgColor = imagecolorallocatealpha($source, 255, 255, 255, 127);
$rotate = imagerotate($source, 10, $bgColor);
imagesavealpha($rotate, true);
imagepng($rotate, 'temp.png') ;