2016-01-28 2 views
1

Я пытаюсь понять, как применить этот фильтр на 2 изображения с помощью PHP ImageMagick library:Преобразовать ImageMagick функция ColorDodge к Imagick

convert 1.jpg \(-size 2816x1584 tile:2.jpg \) -compose ColorDodge -composite out.jpg 

Как я могу это сделать с помощью расширения ImageMagick PHP без использования EXEC/SYSTEM? http://php.net/manual/en/book.imagick.php

+0

Просьба уточнить дальше, что вы имеете в виду под «функцией», и что следует код ImageMagick делать. –

+0

Привет, код отправлен правильно, и он применяет фильтр ColorDodge к двум изображениям, я просто хочу «перевести» его с помощью PHP-функции imagick ... – Gabri

+0

Был ли мой ответ или какие-либо другие ответы на ваши вопросы? Если да, пожалуйста, подумайте о том, чтобы принять его как ваш ответ - нажав полый зеленый галочку/галочку рядом с подсчетом голосов. Если нет, скажите, пожалуйста, что не сработало, чтобы я или кто-то еще помог вам дальше. Благодарю. –

ответ

1

Обратите внимание, что ваш командной строки версия является немного неуклюжий, поскольку для этого требуется жестко закодировать размер изображения. Я думаю, что предпочтительнее, чтобы клонировать исходное изображение (поэтому клон имеет тот же размер), а затем заполнить клон с рисунком, а не явного указания размера, создавая полотна и наполняя его:

convert 1.jpg \(+clone -fill pattern:checkerboard -draw "color 0,0 reset" \) -compose colorDodge -composite result.png 

В PHP, вы можете сделать это, как это, используя это в качестве 1.jpg

enter image description here

и шахматной доски, как 2.jpg

enter image description here

#!/usr/local/bin/php -f 
<?php 
    $img1 = new Imagick("1.jpg"); 
    $img2 = clone $img1; 
    $texture = new Imagick("2.jpg"); 
    $img3 = $img2->textureImage($texture); 
    $img1->compositeImage($img3, Imagick::COMPOSITE_COLORDODGE, 0, 0); 
    $img1->writeImage('result.jpg'); 
?> 

enter image description here

-1

Я не могу проверить это, как я в настоящее время нет Imagick установлен в любом месте, но проверить:

compositeImage с использованием prdefined постоянного Imagick :: COMPOSITE_COLORDODGE