【问题标题】:PHP ImageMagick setColorspace not working [duplicate]PHP ImageMagick setColorspace不工作[重复]
【发布时间】:2012-05-24 14:46:29
【问题描述】:

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

$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),但也没有发现视觉差异。

【问题讨论】:

  • 我也有同样的问题。有什么帮助吗?

标签: php imagemagick


【解决方案1】:

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

希望这会有所帮助!

【讨论】:

  • 哈!我发誓我试过这个但没有用。一时兴起,我又试了一次,非常成功。谢谢!
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2012-06-04
    • 1970-01-01
    • 2017-02-18
    • 2016-03-17
    • 1970-01-01
    • 1970-01-01
    • 2011-12-17
    • 1970-01-01
    • 2011-02-27
    相关资源
    最近更新 更多