【问题标题】:PHP GD - Transparent areas goes blackPHP GD - 透明区域变黑
【发布时间】:2011-08-20 06:35:56
【问题描述】:

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

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

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

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

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

【问题讨论】:

标签: php image gd iso


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    This answer 建议两件事:

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

    这些有帮助吗?

    【讨论】:

    猜你喜欢
    • 2013-03-17
    • 1970-01-01
    • 2015-04-20
    • 2017-11-13
    • 2018-02-14
    • 1970-01-01
    • 2013-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多