PHP imagecopy删除png';s颜色

PHP imagecopy删除png';s颜色,php,copy,gd,Php,Copy,Gd,我想做一个21点游戏,教你算牌。视觉部分很重要,所以我有一副牌的模型和一些代码,可以将每张牌的png文件复制到一个更大的图像中,以显示玩家和庄家的手牌。不幸的是,每隔一段时间,我的imagecopy只复制几个没有颜色的png(灰度)。以下是创建图像的代码,其余代码的表现似乎完美无缺: $cards = imagecreate( 360, 600 ); imagecopy( $cards, drawCard($dealershand[0]), 10, 10, 0, 0, 171, 254 );

我想做一个21点游戏,教你算牌。视觉部分很重要,所以我有一副牌的模型和一些代码,可以将每张牌的png文件复制到一个更大的图像中,以显示玩家和庄家的手牌。不幸的是,每隔一段时间,我的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”包含一个红色或黑色卡片的If语句,然后是一个面值开关,并输出
@imagecreatefrompng(CardDealed)
,其中生成的卡片处理文件名为模拟文件名
$DELERSHAND
$PLAYERSAND
只是两张牌的数组,每张牌都有一张脸和一套衣服的价值


如果已经回答了,请表示感谢和抱歉。

尝试使用ImageCreateTureColor而不是imagecreate。

谢谢你,Ronan,但我的问题是,如果你不介意,请原谅我的问题:如何使用ImageCreateTureColor创建以白色为颜色的图像?我是否应该制作一个白色png文件并使用@imagecreatefrompng?再次感谢,我最终使用了@imagecreatefrompng并决定使用一个假的21点桌面背景,但不管怎样,放弃imagecreate都是正确的选择。我花了将近一个小时才找到你的答案。谢谢。