PHP生成带有透明度的图片.
很奇怪为什么imagecreatetruecolor函数创建的图像是黑色的,有时候我们需要透明背景的图。
即变你导入一个png图,随手保存一下,原本背景是透明的png图,不经过任何处理,保存后透明背景变成了白色.
比如:
$im = imagecreatefrompng('skin.png');
$fileName=date("YmdHis").".png";
imagepng($im,$fileName);
解决方法很简单:
那就是将某个颜色设成透明色:int imagecolortransparent ( resource image [, int color] )
$tran = imagecolortransparent($im,$tranColor);
或者:
$tran = imagecolortransparent($im,NULL);
问题解决了,~
朋友提示,发现一个更好的解决方法.
imagesavealpha函数
imagesavealpha -- 设置标记以在保存 PNG 图像时保存完整的 alpha 通道信息(与单一透明色相反)