Imagick эквивалентен команде imagemagick для объединения изображений с прозрачностью

0

image.png -layers.

работает. По сути, он объединяет 4 png в качестве слоев, image2 - самый большой, все png имеют прозрачность.

Я не могу найти эквивалентные команды в Imagick.

Теги:
imagemagick
imagick

1 ответ

0
Лучший ответ

Как это:

#!/usr/local/bin/php
<?php

    $i1 = new Imagick("1.png"); 
    $i2 = new Imagick("2.png"); 

    $i1->compositeImage($i2,Imagick::COMPOSITE_DEFAULT,0,0); 
    $i1->writeImage('result.png');

    // Flatten those puppies - if required
    $i1->flattenImages(); 
    $i1->writeImage('result_flat.png');
?>

Если я создам изображения следующим образом:

# Red -> transparent gradient
convert -size 128x128 gradient:"rgba(255,0,0,0)-rgba(255,0,0,1)" 1.png

Изображение 174551

# Blue -> transparent gradient
convert -size 128x128 gradient:"rgba(0,0,255,0)-rgba(0,0,255,1)" -rotate 90 2.png

Изображение 174551

Затем я могу объединить их с указанным выше кодом, и я получаю следующее:

Изображение 174551

Ещё вопросы

Сообщество Overcoder
Наверх
Меню