//人物图片 $path_1 = "./images/people.gif"; //装备图片 $path_2 = "./images/weapon.gif"; //将人物和装备图片分别取到两个画布中 $image_1 = imagecreatefromgif($path_1); $image_2 = imagecreatefromgif($path_2); //建立一个和人物图片同样大小的真彩色画布(ps:只有这样才能保证后面copy装备图片的时候不会失真) $image_3 = imageCreatetruecolor(imagesx($image_1),imagesy($image_1)); //为真彩色画布建立白色背景,再设置为透明 $color = imagecolorallocate($image_3, 255, 255, 255); imagefill($image_3, 0, 0, $color); imageColorTransparent($image_3, $color); //首先将人物画布采样copy到真彩色画布中,不会失真 imagecopyresampled($image_3,$image_1,0,0,0,0,imagesx($image_1),imagesy($image_1),imagesx($image_1),imagesy($image_1)); //再将装备图片copy到已经具备人物图像的真彩色画布中,一样也不会失真 imagecopymerge($image_3,$image_2, 0,320,0,0,imagesx($image_2),imagesy($image_2), 100); //将画布保存到指定的gif文件 imagegif($image_3, "/images/update/hero_gam.gif"); 哈哈,大功告成!