解决方案 »

  1.   

    上传不会改变图片,你可以把图片贴在这里
    对于 GD2 缩略图都应 imagecreatetruecolor、imagecopyresampled
    如果有透明色,还需 imagecolortransparent
      

  2.   

    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);
      

  3.   

    我自己解决了。。还是谢谢你们,是我没有用imagefill事先填充的原因