ImageCopyResized($creatImg,$img,$dstX,$dstY,$srcX,$srcY,$creatW,$creatH,$srcImgW,$srcImgH);

解决方案 »

  1.   

     function CreatImage($img,$creatW,$creatH,$dstX,$dstY,$srcX,$srcY,$srcImgW,$srcImgH)
        {
            if(function_exists("imagecreatetruecolor"))
            {
                @$creatImg = ImageCreateTrueColor($creatW,$creatH);
                $black=ImageColorAllocate($creatImg,255,255,255);//填充的背景色你可以重新指定,我用的是黑色         
                imagefilledrectangle($creatImg,0,0,$creatW,$creatH,$black);         
                
                if($creatImg) 
                    ImageCopyResized($creatImg,$img,$dstX,$dstY,$srcX,$srcY,$creatW,$creatH,$srcImgW,$srcImgH);
                else
                {
                    $creatImg=ImageCreateTrueColor($creatW,$creatH);                 
                   ImageCopyResized($creatImg,$img,$dstX,$dstY,$srcX,$srcY,$creatW,$creatH,$srcImgW,$srcImgH);
                }
             }
             else
             {
                $creatImg=ImageCreateTrueColor($creatW,$creatH);
                ImageCopyResized($creatImg,$img,$dstX,$dstY,$srcX,$srcY,$creatW,$creatH,$srcImgW,$srcImgH);
             }
             return $creatImg;
        }
      

  2.   

    gd库有缺陷,现在多用image_magick
      

  3.   

    但大小只能为一张图片的大小你可以先用imagecreatetruecolor 创建一张你想要的大小的空白图片。
    再用imagecopyresized 把图片加上去水印也是一样用imagecopyresized的