Ho le ultime ore cercato di ottenere un logo PNG con uno sfondo trasparente su uno sfondo JPG. Ho provato diversi modi e con diversi globals, ma non riesco a ottenere il risultato che voglio.Overlay PNG su JPG con Imagick
"primo tentativo":
$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();
Come si può vedere, il logo Jaguar è tutto nero.
"secondo tentativo"
$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();
Questo il logo Jaguar sembra che dovrebbe, ma lo sfondo è tutto incasinato ora.
ho provato con Imagick::setImageMatte e ha cercato di aggiungere il overlay to a white background (pensato che ha bisogno di avere uno sfondo trasparente) e ancora non visualizzerà l'immagine in modo corretto. Ho provato molte altre varianti dei 2 frammenti sopra, ma sembrano tutti rendere il PNG completamente o parzialmente nero.
Cosa mi manca o cosa non funziona? Qualcuno può darmi una spinta nella giusta direzione? Si prega di notare che questo deve essere fatto in PHP.
Grazie mille!