Объединение изображений в PHP - GIF и JPG

Я пытаюсь объединить два изображения - изображение GIF с изображением меньшего размера JPG . Результат должен быть 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);

?>
7
задан acoder 22 October 2011 в 21:56
поделиться