1

我在旋转 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 上设置了背景,现在看起来很好。

4

1 回答 1

2

您必须分配 alpha 通道imagecolorallocatealpha并将其设置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') ;
于 2012-09-01T08:20:39.903 回答