PHP ImageMagick инвертировать цвет

Я работаю над приложением PHP, которое преобразует автопортрет в карандашный рисунок, и часть приложения требует ненасыщенного / перевернутого изображения, как в примере ниже:

до и после инвертирования:До и после инвертирования

Легко создать ненасыщенный образ, но как мне добиться этого с помощью imagemagick? Я пытался с помощью negate, но с треском провалился.

Вот что у меня так далеко:

 <?php
 $img = new Imagick();
 $img->readImage($image);
 $img->modulateImage(100, 0, 100); 
 $img->writeImage('image.png');
 ob_clean();                         
header('Content-Type: image/png'); 
echo $img;                          
$img->destroy();
 ?>

1 ответ

Согласно этой странице, вы можете вызвать фильтр imagemagick через функции PHP:

function negateImage($imagePath, $grayOnly, $channel) {
$imagick = new Imagick(realpath($imagePath));
$imagick->negateImage($grayOnly, $channel);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();

}

Другие вопросы по тегам