2011-10-22 1 views
6

내가 두 이미지를 병합하려합니다. 출력은 GIF이어야합니다.은 PHP에서 이미지를 병합 - 작은 <strong>JPG</strong> 이미지로 <strong>GIF</strong> 이미지 - GIF 및 JPG

문제GIF 이미지의 색상이 정확하게 유지되지만 JPG 이미지의 색상이 변경되는 것입니다.

GIF 이미지는 나중에 8 비트 GIF에 변환 할 수있는 트루 컬러 자원으로 병합 된 이미지를 만들 수있는 방법을 256 색 (8 비트)를 가지고 있지만,이 산출?


문제가 해결되었습니다.


나는 코드를 업데이트했습니다.

<?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); 

?> 

답변

5

당신의 설명에서 (일부 코드가 도움이 될 것이다), 난 당신이 지프 위에 JPEG를 병합하는 짐작 것 : 여기에서 잘 작동하는 솔루션입니다. 이드는 imageCreateTrueColor을 사용하여 필요한 크기로 새 이미지를 만들고 imagecopy을 사용하여이 새로운 이미지에 GIF를 복사하는 것이 가장 쉬운 방법이라고 말합니다. 이것에 jpg를 병합하면 나중에 트루 컬러 이미지를 gif로 변환 할 수 있습니다.

메신저가 뭔가 실종 된 경우 현재 수행중인 코드의 일부가 도움이 될 수 있습니다.

+0

예 ** imageCreateTrueColor **는 완벽하게 작동합니다. ** imagecopymerge ** 대신 ** imagecopy **를 사용하는 것이 좋습니다. 고맙습니다! – acoder