资源描述:
《php 处理透明背景的图片时的问题》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、PHP图象处理之透明背景的gif和png图片的一些问题1,直接读取有透明背景的PNG格式文件,然后直接输出,背景变成了黑色,gif则没有这种情况。 解决方法:使用imagesavealpha($image,true),此函数是针对png格式的.
2、ge/png'); imagepng($im); imagedestroy($im); ?> 注意一点:不是所有的浏览器都支持alpha通道,如果在你的浏览器上碰到问题,试着用兼容alpha通道的浏览器(例如最新版的Mozilla)重新加载脚本。 经测试,在IE中显示效果不理想(但图片仍然是透明的,保存下来看下就知道),背景变成了灰色.2,在处理(比如缩小,剪切)有透明背景的gif和png图片然后输出时,图片透明部分变成了黑色。 示例代码如下:
3、=imagecreatetruecolor($size,$size);//创建图片 $back=imagecolorallocatealpha($image,255,255,255,127);//加透明颜色,其实好象没什么效果。-_-! //读取图片 $im=imagecreatefrompng("demo_1.png"); imagecopyresampled($image,$im,10,20,0,0,128,128,128,128);//合拼图片 header('Content-type:imag
4、e/png'); imagepng($image); imagedestroy($image); ?> 效果是图片背景变成了黑色。 解决办法:使用imagecreate()而不是用imagecreatetruecolor()创建图片。 因为imagecreatetruecolor()返回一个图像标识符,代表了一幅大小为x_size和y_size的黑色图像, 看下帮助手册就知道了。 但这种方法仍然有bug,用于png时,png有部分颜色失去,变成了透明。 解决办法:未知,有知道的告诉我一声,在下先谢谢了
5、。3.php生产透明背景图片$wite=ImageColorAllocate($ni,255,255,255);//填充的背景色你可以重新指定,我用的是白色 imagefilledrectangle($ni,0,0,$dstW,$dstH,$wite); ImageColorTransparent($ni,$wite);