PHP ImageMagick setColorspace无法正常工作

时间:2012-05-24 14:46:29

标签: php imagemagick

我正在尝试通过使用以下代码更改颜色空间将图像转换为黑白图像:

$im = new Imagick('image.png');
$im->setImageColorspace(Imagick::COLORSPACE_GRAY);
$im->writeImage('out.png');

但是在此代码之后,图像没有明显的变化(out.png和image.png看起来难以区分)。有关为什么会这样的任何想法?这是转换和成像到B& W的正确方法吗?还有其他方法吗?

我也试过setColorspace(Imagick :: COLORSPACE_GRAY);结果相同。

这是我正在使用的软件:

ImageMagick 6.6.9-7
PHP 5.3.10-1ubuntu3.1
Server version: Apache/2.2.22 (Ubuntu)

编辑:一些额外的信息

我也尝试过转换到其他颜色空间(特别是CMY和CMYK)并注意到它们之间没有视觉差异。

2 个答案:

答案 0 :(得分:3)

作为替代方案,您可以尝试使用$im->modulateImage(100,0,100);代替setImageColorspace()

希望这有帮助!

答案 1 :(得分:2)

使用的正确函数是Imagick :: transformImageColorspace。嗯,显然目前没有记录。

此处它用于转换图像,然后分析该图像的单个通道http://www.phpimagick.com/Imagick/transformImageColorspace