php 關於合成圖片 不失真

  //人物圖片
  $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");
哈哈,大功告成!
相關文章
相關標籤/搜索