opacity — объединить прозрачный PNG поверх JPEG с помощью PHP Imagick

Я использую ImageMagick 7 вместе с PHP 5.6.30 и PECL Imagick 3.4.3.

Используя приведенный ниже код, я пытаюсь наложить прозрачный PNG на 50% поверх изображения JPEG. Результатом являются наложения изображений PNG, но без прозрачности.

Есть идеи?

<?php
$im = new Imagick('base.jpg');
$wm = new Imagick('watermark.png');
$wm->setImageAlpha(0.5);
$im->compositeImage($wm, Imagick::COMPOSITE_COPYOPACITY, 0, 0);
$im->writeImage('final.jpg');
?>

1

Решение

Кажется, это работает для меня:

<?php
$im = new Imagick('base.jpg');
$wm = new Imagick();
$wm->setBackgroundColor(new ImagickPixel('transparent'));
$wm->readImage('watermark.png');
$wm->setImageFormat('png32');
$wm->setImageAlpha(0.5);
$im->compositeImage($wm, Imagick::COMPOSITE_OVER, 0, 0);
$im->writeImage('final.jpg');
?>
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]