如何使用GD或Imagick在非透明纯色图像内创建透明区域?

时间:2013-08-20 12:01:46

标签: php gd imagick

使用imagick和GD Library我尝试制作一个透明中心的方形图像。我试着这样做:

$img = imagecreatetruecolor($width, $height); 

imagefilledrectangle($img, $left, $top, $right, $bottom, imagecolorallocate($img, 255, 255, 255)); 
imagecolortransparent($img, imagecolorallocate($img, 255, 255, 255));   

ob_start();    
ini_set('memory_limit', '-1');              
imagepng($img, './imagecolortransparent.png');
$blob = ob_get_clean();     

然而,最终结果对于中心小盒子始终不透明。我在某处做错了吗?任何帮助将不胜感激:(。

enter image description here

1 个答案:

答案 0 :(得分:1)

您必须激活imagesavealpha才能获得透明度。

imagesavealpha($img,true);
imagepng($img, './imagecolortransparent.png');