2010-02-15 12 views
14

Quiero hacer lo siguiente en PHP:Ponga PNG sobre un JPG en PHP

Tengo dos imágenes, una jpg y una png. Quiero cambiar el tamaño del jpg al mismo tamaño que el png y luego poner el png en la parte superior. El archivo PNG tiene transparencia, por lo que me gustaría conservarlo para que el archivo jpg se muestre debajo.

¡Si alguien pudiera ayudar, sería genial!

Gracias

+1

mirada hacia el GD (o GD2) biblioteca para PHP. – Moshe

+0

Quiero lograr esto en woocommerce alguien puede dirigir – VedX

+0

No está duplicado. Es otro enfoque. – SaidbakR

Respuesta

35
<? 
$png = imagecreatefrompng('./mark.png'); 
$jpeg = imagecreatefromjpeg('./image.jpg'); 

list($width, $height) = getimagesize('./image.jpg'); 
list($newwidth, $newheight) = getimagesize('./mark.png'); 
$out = imagecreatetruecolor($newwidth, $newheight); 
imagecopyresampled($out, $jpeg, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); 
imagecopyresampled($out, $png, 0, 0, 0, 0, $newwidth, $newheight, $newwidth, $newheight); 
imagejpeg($out, 'out.jpg', 100); 
?> 
+0

¡Muchas gracias! Atascado en el problema de fusión similar para el 3er día sin ideas (* olvidé todo lo que sabía antes *) ... ¡salvó mi * alma *! ¡Muchas gracias! ¡Dios te bendiga! –

+0

El código no funciona. Como muestra el ícono de imagen no encontrada. – Anupal

4

Este es el código de trabajo que i usando

$dest = imagecreatefrompng('mapCanvas.png'); 
$src = imagecreatefromjpeg('si.jpg'); 
imagealphablending($dest, false); 
imagesavealpha($dest, true); 
// Copy and merge 
imagecopymerge($dest, $src, 17, 13, 0, 0, 60, 100, 100); 

// Output and free from memory 
header('Content-Type: image/png'); 
imagepng($dest); 

imagedestroy($dest); 
imagedestroy($src);