【问题标题】:Magick++ Compressing and Decompressing filesMagick++ 压缩和解压缩文件
【发布时间】:2013-12-12 23:57:20
【问题描述】:

我在 ImageMagick Magick++ 中找到了 Image 类的 compressType()-Method。 我搜索了如何使用它的示例,但没有太多相关信息。

谁能给我一个如何打开压缩文件以及如何压缩和保存图像的示例?

非常感谢!

【问题讨论】:

    标签: image imagemagick compression magick++


    【解决方案1】:

    用法:

    Magick::Image.compressType(CompressionType)

    可用压缩类型列表: http://www.imagemagick.org/Magick++/Enumerations.html#CompressionType

    例子:

    #include "Magick++.h"
    #include <iostream>
    int main()
    {
        Magick::Image image;
        try{
            image.read("image.jpg");
            image.compressType(JPEGCompression);
            image.write("image.jpg");
        catch(Magick::Exception &error_)
        {std::cout << "Caught exception: " << error_.what() << std::endl;}
    }
    

    如果指定的压缩类型与图像不兼容,ImageMagick 会选择与图像类型兼容的压缩类型。 顺便说一句,这些压缩类型和方法 compressType 用于在编码图像时表达所需的压缩类型(不用于将图像添加到存档)。注意,我还没有编译/测试上面的例子。

    【讨论】: