2015-02-10 130 views
0

我試圖合併使用下面的PHP代碼兩張圖片:PHP合併兩個圖像創建一個粉紅色光

$image1=imagecreatefrompng($url1); 
$image2=imagecreatefrompng($url2); 
$final = imagecreatetruecolor($w, $h); 
$backgroundColor = imagecolorallocate($final, 255, 255, 255); 
imagefill($final, 0, 0, $backgroundColor); 
imagecopy($final, $image1, 0,0,0,0,$w,$h); 
imagecopy($final, $image2, 0,0,0,0,$w,$h); 

合併後,我收到了粉紅色光所產生的圖像。請幫忙。我該如何解決它?

原始圖片:

Original image 1Original image 2

的合併後的圖像:

Resulting image

+2

請包括(或鏈接到)原始和生成(合併)圖像的副本。這是一個視覺問題,我們將需要查看圖像以瞭解正在發生的事情。 – Makyen 2015-02-10 06:50:30

+0

更新了圖像 – gaurav 2015-02-10 07:19:25

+0

看起來這裏也可能有一些綠色偷偷摸摸。如果使用imagecopyresampled會發生什麼? – Mike 2015-02-10 07:27:16

回答

4

你的目標圖像替換最後兩行是GIF,這僅限於256色調色板。嘗試以JPG或PNG格式導出,您可能會獲得更好的色彩保真度。

2

我一直在使用你的圖像鏈接 及其作品以及想你的代碼,並生成相應的PNG 對於您的參考

$url1 = 'http://i.stack.imgur.com/kDYTM.png'; 
$url2 ='http://i.stack.imgur.com/MKTcb.png'; 
$image1=imagecreatefrompng($url1); 
$image2=imagecreatefrompng($url2); 
$final = imagecreatetruecolor(275, 275); 
$backgroundColor = imagecolorallocate($final, 255, 255, 255); 
imagefill($final, 0, 0, $backgroundColor); 
imagecopy($final, $image1, 0,0,0,0,275,275); 
imagecopy($final, $image2, 0,0,0,0,275,275); 
header('Content-type:image/png'); 
imagepng($final); 

對於GIF圖片,你可以用

header('Content-type:image/gif'); 
imagegif($final);