ImageMagick:命令行支持但 C++ 不支持的格式 API?
ImageMagick: format supported on command line but not in C++ API?
我成功地将 ImageMagick 用于多种格式。但是,我注意到当我通过命令行调用 ImageMagick 时,一些(imo)更奇特的格式工作得很好,但是当我尝试使用 Magick++ API.[= 加载相同的图像时它们失败了15=]
例如AAI图像格式:
在命令行上一切正常:
$ magick identify sample.aai
sample.aai AAI 800x600 800x600+0+0 8-bit sRGB 1.83106MiB 0.000u 0:00.002
$ magick convert sample.aai sample.jpg
$ magick identify sample.jpg
sample.jpg JPEG 800x600 800x600+0+0 8-bit sRGB 109272B 0.000u 0:00.000
然而,如果我使用 Magick++:
Magick::Image image;
image.read("/the/path/to/sample.aai");
然后失败并显示错误:
Magick: No decode delegate for this image format (/the/path/to/sample.aai) reported by magick/constitute.c:1534 (ReadImage)
其他人以前遇到过这个问题吗?有人对如何解决这个问题有任何建议吗?
谢谢,
Irigum
PS:
$ magick --version
Version: ImageMagick 7.0.10-48 Q16 x86_64 2020-12-10 https://imagemagick.org
Copyright: © 1999-2020 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules OpenMP(4.5)
Delegates (built-in): bzlib cairo djvu fontconfig freetype heic jbig jng jp2 jpeg lcms lqr ltdl lzma openexr pangocairo png raqm raw rsvg tiff webp wmf x xml zlib
我的 OS:Arch Linux 64 位
Imagemagick API 很少支持 Imagemagick 的所有运算符等。由 API 的编码人员决定哪些值得包括。
在网上搜索我发现了这个页面,它可以让您查看您的格式是否受支持:https://www.imagemagick.org/Magick++/CoderInfo.html
CoderInfo info("GIF");
cout < info->name() << ": (" << info->description() << ") : ";
cout << "Readable = ";
if ( info->isReadable() )
cout << "true";
else
cout << "false";
cout << ", ";
cout << "Writable = ";
if ( info->isWritable() )
cout << "true";
else
cout << "false";
cout << ", ";
cout << "Multiframe = ";
if ( info->isMultiframe() )
cout << "true";
else
cout << "false";
cout << endl;
我成功地将 ImageMagick 用于多种格式。但是,我注意到当我通过命令行调用 ImageMagick 时,一些(imo)更奇特的格式工作得很好,但是当我尝试使用 Magick++ API.[= 加载相同的图像时它们失败了15=]
例如AAI图像格式:
在命令行上一切正常:
$ magick identify sample.aai
sample.aai AAI 800x600 800x600+0+0 8-bit sRGB 1.83106MiB 0.000u 0:00.002
$ magick convert sample.aai sample.jpg
$ magick identify sample.jpg
sample.jpg JPEG 800x600 800x600+0+0 8-bit sRGB 109272B 0.000u 0:00.000
然而,如果我使用 Magick++:
Magick::Image image;
image.read("/the/path/to/sample.aai");
然后失败并显示错误:
Magick: No decode delegate for this image format (/the/path/to/sample.aai) reported by magick/constitute.c:1534 (ReadImage)
其他人以前遇到过这个问题吗?有人对如何解决这个问题有任何建议吗?
谢谢,
Irigum
PS:
$ magick --version
Version: ImageMagick 7.0.10-48 Q16 x86_64 2020-12-10 https://imagemagick.org
Copyright: © 1999-2020 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules OpenMP(4.5)
Delegates (built-in): bzlib cairo djvu fontconfig freetype heic jbig jng jp2 jpeg lcms lqr ltdl lzma openexr pangocairo png raqm raw rsvg tiff webp wmf x xml zlib
我的 OS:Arch Linux 64 位
Imagemagick API 很少支持 Imagemagick 的所有运算符等。由 API 的编码人员决定哪些值得包括。
在网上搜索我发现了这个页面,它可以让您查看您的格式是否受支持:https://www.imagemagick.org/Magick++/CoderInfo.html
CoderInfo info("GIF");
cout < info->name() << ": (" << info->description() << ") : ";
cout << "Readable = ";
if ( info->isReadable() )
cout << "true";
else
cout << "false";
cout << ", ";
cout << "Writable = ";
if ( info->isWritable() )
cout << "true";
else
cout << "false";
cout << ", ";
cout << "Multiframe = ";
if ( info->isMultiframe() )
cout << "true";
else
cout << "false";
cout << endl;