2012-03-30 54 views
1

我想做一個教大家計算卡的二十一點遊戲。可視化組件非常重要,因此我可以模擬一副撲克牌和一些代碼,將每張發牌的png文件複製到一張較大的圖像中,以顯示玩家和經銷商的牌。不幸的是,每隔一段時間,我的圖像拷貝就會複製一些沒有顏色(灰度)的png。下面是圖像創建的代碼,代碼的其餘似乎完美表現:PHP imagecopy刪除PNG的顏色

$cards = imagecreate(360, 600); 

imagecopy($cards, drawCard($dealershand[0]), 10, 10, 0, 0, 171, 254); 
imagecopy($cards, @imagecreatefrompng("deckback.png"), 190, 10, 0, 0, 171, 254); 

imagecopy($cards, drawCard($playershand[0]), 10, 336, 0, 0, 171, 254); 
imagecopy($cards, drawCard($playershand[1]), 190, 336, 0, 0, 171, 254); 

如果你需要更多的代碼,只是讓我知道,我可以提供,但基本上是「的drawcard」基本上囊括瞭如聲明爲紅色或黑色卡片,然後切換面值並輸出@imagecreatefrompng(carddealt),卡片處理的文件名稱在裏面生成爲嘲弄。 $dealershand$playershand只是兩張卡片的陣列,每張卡片都有一個面孔和套裝值。

如果這已經得到解答,非常感謝。

回答

2

嘗試使用imagecreatetruecolor而不是imagecreate。

+0

謝謝羅南,但我的問題是,然後赦免它,如果你不介意:我如何使用imagecreatetruecolor創建一個圖像與白色作爲顏色?我應該只是做一個白色的PNG文件,並使用@imagecreatefrompng? – ArtlyticalMedia 2012-03-30 16:53:48

+0

再次感謝,我結束了使用@imagecreatefrompng並決定去與一個假的大酒杯表背景,但無論如何,放棄imagecreate是正確的事情。 – ArtlyticalMedia 2012-04-01 18:08:42

+0

我花了差不多一個小時,直到我找到你的答案。非常感謝。 – 2017-03-09 10:51:27