2010-12-22 5 views
0

Bonjour J'essaie de combiner deux images png-24 transparentes, toutes deux de taille 400, largeur 150.Combiner 2 images transparentes png-24 en utilisant Php

Un fond: [ "http://www.fenixflame.net/Background-Zanaris-24.png"][1]

Et l'image que je veux superposer adobe l'arrière-plan: [" http : //www.fenixflame.net/Bandos-Slayer-24.png "] [2]

J'ai essayé de superposer des images transparentes en utilisant php mais seulement des images png-8. Impossible d'utiliser png-8 car les images ne sont pas rendues correctement.

Modifier: Code J'ai tryed:

$image = imagecreatefrompng("http://www.fenixflame.net/Background-Zanaris-24.png"); 
$frame = imagecreatefrompng("http://www.fenixflame.net/Bandos-Slayer-24.png"); 
// 
//imagealphablending($frame,true); 
// 
$insert_x = imagesx($frame); 
    $insert_y = imagesy($frame); 
    imagecopymerge($image,$frame,0,0,0,0,$insert_x,$insert_y,100); 
// 
//# Save the image to a file imagepng($image, '/path/to/save/image.png'); 
imagepng($image, "/home1/fenixfla/public_html/Images/Signatures/NewImageBG.png"); 
// 
//# Output straight to the browser. 
imagepng($image); 
// 
+0

quelle bibliothèque utilisez-vous? – yoda

+0

Je ne sais vraiment pas, pas un mec php, devinez celui par défaut s'il y a? – Dangerosking

Répondre

8

J'ai écrire un petit exemple pour fusionner deux images transparentes dans ce lien scitam.com

essayez ce code cela fonctionne très bien.

 

    $width = 200; 
    $height = 200; 

    $base_image = imagecreatefromjpeg("base.jpg"); 
    $top_image = imagecreatefrompng("top.png"); 
    $merged_image = "merged.png"; 

    imagesavealpha($top_image, true); 
    imagealphablending($top_image, true); 

    imagecopy($base_image, $top_image, 0, 0, 0, 0, $width, $height); 
    imagepng($base_image, $merged_image); 

2

Utilisez GD Library pour rendre l'image et l'afficher en php. http://www.php.net/manual/en/ref.image.php

Cela devient très poilu après cela. Vous devez utiliser commencer à faire des choses comme

imagealphablending($image, false); 
imagesavealpha($image, true); 

et ainsi de suite pour vous assurer que la transparence est correcte.

vous pouvez voir un exemple de ce que j'ai fait pour un client sur leur page d'accueil here. C'était super ennuyeux et une énorme douleur. Amusez-vous

2

Comment l'utilisation de composite lib ImageMagick (http://www.imagemagick.org/script/composite.php)

function composite() { 
     $command = "/usr/local/bin/composite [... your properties...]"; 
     exec($command, $output, $result); 
     return ($result == 0 && $output[0] == ""); 
    } 
Questions connexes