Php imagecopy更改照片中的颜色

Php imagecopy更改照片中的颜色,php,gd,Php,Gd,我使用imagecreatefromjpeg打开照片 $image = imagecreatefromjpeg("primary_image.jpg"); 然后创建一张空照片 $main = imagecreate(imagesx($image),imagesy($image)+50); imagecolorallocate($main,255, 52, 54); imagecopy($main, $image, 0, $height, 0, 0, imagesx($main), imag

我使用imagecreatefromjpeg打开照片

$image = imagecreatefromjpeg("primary_image.jpg");
然后创建一张空照片

$main = imagecreate(imagesx($image),imagesy($image)+50);
imagecolorallocate($main,255, 52, 54);


imagecopy($main, $image, 0, $height, 0, 0, imagesx($main), imagesy($main));
但$image的颜色发生了变化,并与$main颜色混合

为什么?


提前感谢

使用ImageCreateTureColor而不是imagecreate

是否更改为红色?“并与$main颜色混合”您没有
$main
颜色,
$main
是您的图像。来自:“注意:对imagecolorallocate()的第一次调用将填充基于调色板的图像(使用imagecreate()创建的图像)中的背景色。”是,它将更改为红色。在imagecreate之前调用imagecolorallocate?????怎么做@kerbholz
255、52、54
为红色。您是否需要设置
imagecolorallocate
?你不能省略它吗?不,我需要使用imagecolorallocate仅用于创建$ImageImageCreateTureColor顶部的红色填充工作正常,但创建一张黑色空照片。我需要在主屏幕上创建蓝色或其他颜色的填充image@MJ7那么,首先用红色“背景”填充你新创建的图像-ops就像一个符咒。我创建了一个imagecreatetruecolor并用imagefill填充这个红色。谢谢兄弟。