2011-04-05 19 views
0

我正在寻找一种方法来复制PHP中的Photoshop Grayscale/Desaturate功能,我在服务器上安装了MagickWand。PHP MagickWand True Grayscale

我已经尝试了许多不同的方法(包括迭代像素),但是当我在photoshop中打开修改后的图像时,对比度始终会发生变化(较亮)。

我在想这可能与嵌入的颜色配置文件没有被保存有关?

$resource = NewMagickWand(); 
MagickReadImage($resource, $file); 
MagickQuantizeImage($resource, 16772216, MW_GRAYColorspace, 8, true, true); 

header('Content-Type: image/jpeg'); 
MagickEchoImageBlob($resource); 

任何人都知道可以通过PHP完成的真正的灰度?解决方案并不需要使用ImageMagick的

赞赏

回答

0

将图像转换与ImageMagick的

$resource = NewMagickWand(); 
MagickReadImage($resource, $file); 
$colors = MagickGetImageColors($resource); 
MagickQuantizeImage($resource, $colors, MW_GRAYColorspace, 8, true, true); 
MagickGetImageProfile($resource , 'ICC'); 
//MagickModulateImage($resource, 90, 0, 0); 
//MagickContrastImage($resource, 2); 
MagickProfileImage($resource, '*' , 'NULL'); 
MagickProfileImage($resource, 'ICC' , file_get_contents('ICC/sGray.icc')); 

header('Content-Type: image/jpeg'); 
MagickEchoImageBlob($resource); 

继承人的链接为灰度到灰度轮廓http://www.mediafire.com/?jxlwfyjzjzj