PHP ImageMagick setColorspace 不工作

标签 php imagemagick

<分区>

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

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

但是在这段代码之后,图像没有明显的变化(out.png 和 image.png 看起来无法区分)。关于为什么会这样的任何想法?这是将图像转换为黑白的正确方法吗?还有其他方法吗?

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

这是我正在使用的软件:

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

编辑:一些额外的信息

我也尝试过转换为其他色彩空间(特别是 CMY 和 CMYK),然后也没有发现视觉差异。

最佳答案

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

希望这对您有所帮助!

关于PHP ImageMagick setColorspace 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10739822/

相关文章:

php - 如何在 PhpMyAdmin 上启用服务器选择?

php - 在 PHP Imagick API 中使用 Pango

Perl Image::Magick:将一个图像放在另一个图像的顶部

PHP MySQL 从连接表中打印用户字段

php - 创建 "custom"用户 URL 时出现问题

php - 通过 PHP 执行 shell 命令?

linux - linux命令行获取灰度图 "text"边界框坐标

php - INNODB 级联删除和更新

javascript - 使用 Node.js 检索图像的真实颜色

imagemagick - 在 ImageMagick 中创建具有透明背景的图像