6

我正在尝试在 PHP 中制作非常简单的 ISO 引擎,我尝试在正确的位置、顺序等进行渲染,但是绘制的图像由于某种原因是黑色的,它应该是透明的。PNG 文件具有透明通道,我正在使用以下测试代码: http: //pastebin.com/TXk4LkJ8该代码只是草稿。

文件只是块的 3 个面,尺寸如下:顶部 - 44x22;侧面:23x34

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

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

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

4

2 回答 2

12

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

imagealphablending( $image, false );
imagesavealpha( $image, true );
于 2011-05-06T15:50:45.423 回答
3

这个答案暗示了两件事:

  • imagealphablending应设置为 false 以保留 Alpha 通道
  • 您应该将想要透明的颜色(在本例中为黑色)设置为透明:
$black = imagecolorallocate($image, 0, 0, 0);
imagecolortransparent($image, $black);

这些有帮助吗?

于 2011-05-06T15:26:16.153 回答