为什么上传图片中含有透明通道,图片就会变成黑色? php图片上传 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 上传不会改变图片,你可以把图片贴在这里对于 GD2 缩略图都应 imagecreatetruecolor、imagecopyresampled如果有透明色,还需 imagecolortransparent imagecreate 和 imagecreatetruecolor 产生的图片都是黑色的(注意:不是透明的)你的图片是透明的,自然就将背景显现出来了也就是说图片是放在黑色的背景上的了所以被缩放的图片还需要设置透明色$url = 'http://img.bbs.csdn.net/upload/201404/15/1397545309_839045.gif';$sm = imagecreatefromstring(file_get_contents($url));$dm = imagecreatetruecolor(imagesx($sm), imagesy($sm));//$dm = imagecreate(imagesx($sm), imagesy($sm));$c = imagecolorallocate($dm, 100, 1, 1);imagefill($dm, 0, 0, $c);imagecolortransparent($dm, $c);imagecopyresampled($dm, $sm, 0, 0, 0, 0, imagesx($dm), imagesy($dm), imagesx($sm), imagesy($sm));imagegif($dm); 我自己解决了。。还是谢谢你们,是我没有用imagefill事先填充的原因 html和php邮箱 zde的首选项中Desktop->Browser Configuration->Use Internal Browser无法选择 怎么来对字符串进行替换? 如何获取服务器上的某个XML文件的访问统计记录 PHP输出png图的问题 面试题:php是否可以实现实时器?若可以,请表明思路? 基础问题,在线等在线结贴 PHP 删除上传后文件的问题。 mysql数据库问题,请帮忙! 怎样判断上载文件的类型? 非经营性网站未备案月底暂时关闭 7月10日前仍可补办 SESSION值的问题!
对于 GD2 缩略图都应 imagecreatetruecolor、imagecopyresampled
如果有透明色,还需 imagecolortransparent
你的图片是透明的,自然就将背景显现出来了
也就是说图片是放在黑色的背景上的了
所以被缩放的图片还需要设置透明色$url = 'http://img.bbs.csdn.net/upload/201404/15/1397545309_839045.gif';
$sm = imagecreatefromstring(file_get_contents($url));
$dm = imagecreatetruecolor(imagesx($sm), imagesy($sm));
//$dm = imagecreate(imagesx($sm), imagesy($sm));
$c = imagecolorallocate($dm, 100, 1, 1);
imagefill($dm, 0, 0, $c);
imagecolortransparent($dm, $c);
imagecopyresampled($dm, $sm, 0, 0, 0, 0, imagesx($dm), imagesy($dm), imagesx($sm), imagesy($sm));
imagegif($dm);