2012-03-30 56 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