使用PHP GD制作alpha PNG

时间:2010-04-07 10:36:48

标签: php png gd alpha alphablending

我在使用PHP GD制作alpha PNG时遇到了问题。我没有imageMagik等。

虽然图像在浏览器和GFX程序中的表现非常好,但我遇到了Flash AS3(actionscript)理解文件的问题。它抱怨是一种未知的类型。但是,将这些文件从Fireworks导出到相同的规范可以正常工作。所以我建议PHP GD中的格式化有问题。

似乎有很多方法可以做到这一点,有几个相似的功能;也许这不对?

$ image_p = imagecreatetruecolor($ width_orig,$ height_orig);

$image = imagecreatefrompng($filename); 

imagealphablending($image_p, false);
ImageSaveAlpha($image_p, true);
ImageFill($image_p, 0, 0, IMG_COLOR_TRANSPARENT);
imagealphablending($image_p, true);

imagecopyresampled($ image_p,$ image,0,0,0,0 $ width_orig,$ height_orig,$ width_orig,$ height_orig);

imagepng($ image_p,“new2 /".$ filename,0);

imagedestroy($ image_p);

这只是获取它给出的文件并将它们放入具有指定宽度/高度的新文件中 - 对于此示例,它与原始文件相同,但在生产中它会调整大小,这就是我重新采样的原因。

1 个答案:

答案 0 :(得分:1)

保持你应该做的透明度

imagealphablending($image_p, false);

而不是“true”。也许这也将解决格式问题。