原代码如下:
 
$watername="未标题-3.png";
 $getSize=getimagesize($watername);
 $water=imagecreatefrom($getSize, $watername);
 header("content-type: image/jpeg");
 imagejpeg($water,'aa.jpg');
 
function imagecreatefrom($getimagesize,$imgname) {
   switch ($getimagesize['2']) {
    case 1:
     return imagecreatefromgif($imgname);
    case 2:
     return imagecreatefromjpeg($imgname);
    case 3:
     return imagecreatefrompng($imgname);
    default:
     echo "该类型不允许";
     exit();  
   }
 }
 
原图片为png 处理后:
 这个图片的后面不知为何多了个竖杠??最后的竖杠上还有红点。各位能为我解答一下,给个方案啊。谢谢

解决方案 »

  1.   

    应该是原图中有 gd 不能识别的成分,你可用 fw 打开分析一下你没注意到原图上有一个浅蓝色的遮罩吗?
      

  2.   

    你可在将水印图片拷贝到目标图片之前用 imagecolortransparent 函数给水印图片指定透明色
    拷贝可用 imagecopymerge 函数,这样可以设定混合的程度
    如果还需调整水印图片的大小,可先用 imagecopyresampled 函数处理好总之,你需要综合利用 GD 提供的各种函数,来达到理想的视觉效果
    不要怕麻烦