PHP GD -透明区域变成黑色


PHP GD - Transparent areas goes black

我试图在PHP中制作非常简单的ISO引擎,我试图在正确的地方渲染,顺序等都是成功的,但是绘制的图像,出于某种原因是黑色的,它应该是透明的。PNG文件有透明通道,我使用以下测试代码:http://pastebin.com/TXk4LkJ8代码只是粗略的草案。

文件只是块的三个面,尺寸如下:top - 44x22;方面:23 x34

谢谢你的帮助,我希望问题足够清楚。

编辑:这里是问题:http://dl.dropbox.com/u/10530011/obrazki/isofail.png

编辑:[SOLVED]出于某种原因,我不得不将图像保存为GIF以使其工作。谢谢你的帮助。

在保存png图像之前,应该调用这两个函数, imagealphablending()和imagesavealpha():

imagealphablending( $image, false );
imagesavealpha( $image, true );

这个答案暗示了两件事:

  • imagealphablending应设置为false以保留alpha通道
  • 你应该设置你想要透明的颜色(在这个例子中是黑色)为transparent:
$black = imagecolorallocate($image, 0, 0, 0);
imagecolortransparent($image, $black);

这些有用吗?