我试图合并两个图片 - 一个GIF图像和一个较小的JPG图像。输出应该是GIF。
问题在于GIF图像的颜色保持正确,但JPG图像的颜色会改变。
GIF图像只有256种颜色(8位),但是否有一种方法可以使合并后的图像成为真彩色资源,以便稍后可以将其转换为8位GIF进行输出?
问题已解决。
我更新了代码。这里是解决方案,它能很好地工作:
问题在于GIF图像的颜色保持正确,但JPG图像的颜色会改变。
GIF图像只有256种颜色(8位),但是否有一种方法可以使合并后的图像成为真彩色资源,以便稍后可以将其转换为8位GIF进行输出?
问题已解决。
我更新了代码。这里是解决方案,它能很好地工作:
<?php
header('Content-Type: image/gif');
$gif_address = 'file.gif';
$jpg_address = 'file.jpg';
$image1 = imagecreatefromgif($gif_address);
$image2 = imagecreatefromjpeg($jpg_address);
$merged_image = imagecreatetruecolor(800, 800);
imagecopymerge($merged_image, $image1, 0, 0, 0, 0, 800, 800, 100);
imagecopymerge($merged_image, $image2, 0, 0, 0, 0, 500, 500, 100);
imagegif($merged_image);
imagedestroy($image1);
imagedestroy($image2);
imagedestroy($merged_image);
?>