2013-06-29 79 views
1

我的工作,其將自畫像到應用程序的鉛筆畫和部分PHP應用程序需要類似於下面的例子中去飽和/反轉的圖像:PHP ImageMagick的變換顏色

之前和之後反轉: Before and after invert

這很容易創建一個不飽和的圖像,但我怎麼會實現這個反轉使用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(); 
?> 
+2

是如何'negate'失敗? [Imagick :: modulateImage](http://www.php.net/manual/en/imagick.modulateimage.php),後面是[Imagick :: negateImage](http://www.php.net/manual/en/ imagick.negateimage.php)將是一個正確的方法來實現你的任務。 – emcconville

回答

0

this頁面,則可以通過PHP函數調用ImageMagick的過濾器:

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

}