2010-02-15 4 views
14

Je veux faire ce qui suit en PHP:Mettre PNG sur un fichier JPG en PHP

J'ai deux images, un jpg et un png. Je veux redimensionner le jpg à la même taille que le png puis mettre le png sur le dessus. Le PNG a de la transparence donc je voudrais préserver cela afin que le jpg montre dessous.

Si quelqu'un pouvait aider ce serait génial!

Merci

+1

Regardez dans la bibliothèque GD (ou GD2) pour PHP. – Moshe

+0

je veux atteindre ce dans woocommerce peut quelqu'un direct – VedX

+0

Il n'est pas en double. C'est une autre approche. – SaidbakR

Répondre

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

Merci beaucoup! Collé sur le problème de fusion similaire pour le 3ème jour sans idées (* oublié tout ce qui savait avant *) ... sauvé mon * âme *! Grand merci! Dieu te bénisse! –

+0

Le code ne fonctionne pas. Comme il affiche l'icône image non trouvée. – Anupal

4

Ceci est le code de travail que j'utilisant

$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); 
Questions connexes