【问题标题】:Perl Magick Resize Color IssuePerl Magick 调整颜色大小问题
【发布时间】:2014-01-15 22:50:25
【问题描述】:

我正在编写一个脚本来调整 gif 图像的大小。我注意到我创建的图像具有较小的图像尺寸,但占用了更多磁盘空间。我想我已经找到了问题的原因。在 Photoshop 中检查时,原始图像的颜色表中只有 4 种颜色(白色、灰色、灰色、黑色),而新图像的颜色表中有 256 种颜色。我找不到从传入图像中复制颜色表的方法,有什么方法可以控制吗?这是我的脚本

use Image::Magick;
my $image = Image::Magick->new;
$image -> Read( 'test.gif' );
$image -> Resize(geometry=>"50%");
$image->Write( 'test-out.gif' );

非常感谢任何建议。

【问题讨论】:

    标签: perl imagemagick


    【解决方案1】:

    您可以使用 Sample() 而不是 Resize() 来保持相同数量的颜色

    $image->Sample(geometry=>"50%");
    

    【讨论】:

    • 如果此答案解决了您的问题,请点击左侧的勾号接受。如果您需要帮助,请参阅 How to Ask
    【解决方案2】:

    您可以使用-colors 选项限制输出颜色的数量。包含+dither 选项是个好主意,即使您确定输入和输出的颜色数量相同。在直接的 ImageMagick 中,它看起来像这样:

    convert test.gif +dither -colors 4 test-out.gif
    

    我不知道 perlMagick API 的语法,但这应该会让你非常接近。

    【讨论】:

    • 感谢您的回复。我使用了上面的解决方案,效果很好。
    猜你喜欢
    • 1970-01-01
    • 2013-06-08
    • 1970-01-01
    • 2018-02-24
    • 2014-07-01
    • 2015-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多