我正在尝试通过使用以下代码更改颜色空间将图像转换为黑白图像:
$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)并注意到它们之间没有视觉差异。
答案 0 :(得分:3)
作为替代方案,您可以尝试使用$im->modulateImage(100,0,100);
代替setImageColorspace()
希望这有帮助!
答案 1 :(得分:2)
使用的正确函数是Imagick :: transformImageColorspace。嗯,显然目前没有记录。
此处它用于转换图像,然后分析该图像的单个通道http://www.phpimagick.com/Imagick/transformImageColorspace