mam ostatnie kilka godzin próbowali dostać logo PNG z przezroczystym tłem na szczycie JPG tle. Próbowałem na kilka sposobów, a także z kilku globali, ale wydaje mi się, że nie jestem w stanie osiągnąć pożądanego rezultatu.Nakładka PNG na JPG przy użyciu Imagick
"Pierwsza próba":
$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();
Jak widać, logo Jaguar jest cały czarny.
"Druga próba"
$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();
Ten logo Jaguar wygląda tak jak powinien, ale w tle jest wszystko pomieszane teraz.
Próbowałem z Imagick::setImageMatte i starał się dodać overlay to a white background (myślałem, nie trzeba mieć przezroczyste tło) i nadal nie będzie wyświetlać obraz prawidłowo. Próbowałem wielu innych odmian 2 powyższych fragmentów, ale wszystkie wydają się sprawiać, że PNG jest całkowicie lub częściowo czarny.
Czego mi brakuje lub robię źle? Czy ktoś może dać mi szturchnięcie we właściwym kierunku? Należy pamiętać, że należy to zrobić w PHP.
Dziękuję bardzo!