2011-10-22 9 views
6

estoy tratando de fusionar dos imágenes - una imagen de GIF una imagen más pequeña JPG con. La salida debe ser GIF.de combinación de imágenes en PHP - GIF y JPG

La cuestión es queGIF colores de la imagen siguen siendo correcta, pero se alteran los colores de la imagen de JPG .

La imagen GIF tiene sólo 256 colores (8 bits), pero hay una manera de hacer que la imagen fusionada a ser un recurso de color verdadero que luego se puede convertir en un 8 bits GIF de ¿salida?


Issue resuelto.


He actualizado el código. Aquí está la solución que funciona muy bien:

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

?> 

Respuesta

5

Desde su explicación (un código ayudaría), me gustaría aventurar una respuesta está fusionando el jpeg en el gif. Id digo que la forma más fácil es usar imageCreateTrueColor para crear una nueva imagen del tamaño que necesita y luego usar imagecopy para copiar el GIF en esta nueva imagen. Combina el archivo jpg con esto y luego, en una fecha posterior, puedes ocultar la imagen en color verdadero en un archivo .gif.

Si me falta algo, un poco de código de ejemplo de lo que está haciendo actualmente podría ayudar.

+0

Sí ** imageCreateTrueColor ** funciona a la perfección. Quizás, usar ** imagecopy ** en lugar de ** imagecopymerge ** es una buena idea. ¡Gracias! – acoder

Cuestiones relacionadas