我想在
PHP中与GD结合使用以下内容. ImageMagick不是一个选择,不幸的是,这似乎是一个常见的问题,必须有一个解决方案,我似乎找不到它.
@H_404_17@
如果合并图像,imagecolortransparent可能不是你想要的,因为单色透明度是讨厌的.
我想创建一个透明背景的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,0x7FFF0000); imagetransparent ($image,0x7FFF0000);
上面的代码是我在网上找到的,它用红色填充,然后使红色透明.再次,这会导致图像中的所有红色变得透明.我可以选择不太可能发生的颜色,但我不能保证.
相反,请尝试使用透明填充掩码,如下所示:
<?PHP $image = imagecreatetruecolor(100,100); // Transparent Background imagealphablending($image,false); $transparency = imagecolorallocatealpha($image,127); imagefill($image,$transparency); imagesavealpha($image,true); // Drawing over $black = imagecolorallocate($image,0); imagefilledrectangle($image,25,75,$black); header('Content-Type: image/png'); imagepng($image);