2010-12-17 36 views
3

我想層中的這些:如何將alpha通道PNGS合併成一個更大的圖像?

gametile_masked_file gamertile_masked_file sanctum-background.png

到這一點:

alt text

但我不斷收到的是:

alt text

這是相關代碼,林不知道我在想念着:

$sig_background = imagecreatefrompng("sanctum-signature.png"); 
imagealphablending($sig_background, false); 
imagesavealpha($sig_background, true); 
$sig_gamertile = imagecreatefrompng($gamertile_masked_file); 
imagealphablending($sig_gamertile, false); 
imagesavealpha($sig_gamertile, true); 
$sig_gametile = imagecreatefrompng($gametile_masked_file); 
imagealphablending($sig_gamertile, false); 
imagesavealpha($sig_gamertile, true); 
imagecopymerge($sig_background, $sig_gamertile, 175, 2, 0, 0, 64, 64, 100); 
imagecopymerge($sig_background, $sig_gametile, 342, 20, 0, 0, 64, 64, 100); 

如果任何更多的信息丟失,請讓我知道和虐待嘗試填補空白。感謝您的時間。

編輯 - 這裏是鏈接到文件(託管的photobucket) gamertile gametile

+2

Xbox 360?真棒! +1 – alex 2010-12-17 00:50:38

+0

通過gametile和gamertile在最後截圖中呈現的方式,它看起來並不像您的掩碼在您的源PNG中正確應用。你能發佈鏈接到一些源圖片嗎? – Ben 2010-12-17 01:49:01

回答

0

您的代碼中存在拼寫錯誤,是複製/粘貼錯誤還是真正的錯誤?

你這樣做:

$sig_gamertile = imagecreatefrompng($gamertile_masked_file); 
imagealphablending($sig_gamertile, false); 
imagesavealpha($sig_gamertile, true); 

然後:

$sig_gametile = imagecreatefrompng($gametile_masked_file); 

但直之後,可以繼續調用函數對$sig_gamertile而不是$sig_gametile

imagealphablending($sig_gamertile, false); 
imagesavealpha($sig_gamertile, true); 

顯然,從根本上重新命名一些變量會有助於防範這一點。

0

行:

imagealphablending($im, false); 

禁用alpha混合。使用true而不是false

相關問題