Dangerosking
Dangerosking

Reputation: 438

Combine 2 png-24 transparent Images using Php

Hello I am trying to combine two transparent png-24 images, both size 400width, 150height.

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

And the image I want to overlay adobe the background: ["http://www.fenixflame.net/Bandos-Slayer-24.png"][2]

I've tryed overlaying transparent images using php but only png-8 images. Can't use png-8 beacause the images just don't render correctly.

Edit: Code I've 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); 
//

Upvotes: 0

Views: 3561

Answers (4)

sugunan
sugunan

Reputation: 4456

I have write a small example to merge two transparent image in this link scitam.com

try this code it works fine.


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

Upvotes: 8

dmytrivv
dmytrivv

Reputation: 608

How about using lib ImageMagick composite (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] == "");
   }

Upvotes: 2

Cole
Cole

Reputation: 740

Use GD Library to render the image and output it in php. http://www.php.net/manual/en/ref.image.php

It gets pretty hairy after that. You have to use start doing things like

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

and so on to make sure transparency is correct.

you can see an example of what I did for a client way back on their front page here. It was super tedious and a huge pain. Have fun

Upvotes: 2

DADU
DADU

Reputation: 7038

You might want to check this out: http://php.net/manual/en/function.imagecopymerge.php

The imagecopymerge function is part of the PHP GD library.

Upvotes: 1

Related Questions