KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have the last few hours tried to get a PNG logo with a transparent background on top of a JPG background. I have tried several ways and with several globals as well, but I do not seem to be able to get the result I want. "First Attempt": $overlay = new Imagick('overlay.png'); $image = new Imagick('background.jpg'); $image->compositeImage($overlay, Imagick::COMPOSITE_DEFAULT, 10, 10); $image->writeImage('background.jpg'); //replace original background $overlay->destroy(); $image->destroy(); As you can see, the Jaguar logo is all black. "Second Attempt" $overlay = new Imagick('overlay.png'); $image = new Imagick('background.jpg'); $image->setImageColorspace($overlay->getImageColorspace() ); $image->compositeImage($overlay, Imagick::COMPOSITE_DEFAULT, 10, 10); $image->writeImage('background.jpg'); //replace original background $overlay->destroy(); $image->destroy(); This one the Jaguar logo looks like it should, but the background is all messed up now. I have tried with Imagick::setImageMatte and tried to add the overlay to a white background (thought I does need to have a transparent background) and still it won't display the image properly. I have tried many other variations of the 2 above snippets but they all seem to make the PNG completely or partial black. What am I missing or doing wrong? Can anyone give me a nudge in the right direction? Please note this needs to be done in PHP. Thank you very much!
Tags (comma-separated)
Save Edits
Cancel