【发布时间】:2013-02-21 05:05:54
【问题描述】:
我想在 PHP 中结合 GD 执行以下操作。不幸的是,ImageMagick 不是一个选项,但这似乎是一个常见的问题,必须找到解决方案,我似乎找不到它。
我想创建一个具有透明背景的 PNG。然后我想在上面画一个矩形,在上面复制一个图像,然后添加一些文本。一种方法如下:
$image = ImageCreateTrueColor (800, 600);
imagecolortransparent ($image, 0); //0 is pure black, the default fill color
imagerectangle (...);
//code to copy an image
imagettftext ($image, ...);
imagepng ($image);
这很好用,只是复制的图像的一部分可能是黑色的,和/或文本可能是黑色的。然后这也变得透明,这是我不想要的。
imagefill ($image, 0,0, 0x7FFF0000);
imagetransparent ($image, 0x7FFF0000);
上面的代码是我在网上找到的,用红色填充,然后让红色变透明。同样,这会导致图像中的所有红色变得透明。我可以选择一种不太可能出现的颜色,但我不能保证这一点。
我有什么遗漏吗?这可以解决吗? 感谢您的回复!
【问题讨论】:
标签: php gd transparency