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;