将图像实例另存为 png Magick++

Save a Image instance as png Magick++

本文关键字:png Magick++ 另存为 实例 图像      更新时间:2023-10-16

这是我关于Magick++的第3后续文章,尽管我花了大量的精力试图自己处理它。

我有这个程序:

int main( int argc, char ** argv)
{
  // Initialize ImageMagick install location for Windows
  InitializeMagick(*argv);
  try {
    Image button;
    Geometry size = Geometry(10,10);
    button.size(size);
    button.write("button_out.png");
  }
  catch( exception &error_ )
    {
      cout << "Caught exception: " << error_.what() << endl;
      system("Pause");
      return 1;
    }
  /*
  */
  return 0;
}

如您所见,我要做的就是将 10x10 空图像保存到 png 文件。不幸的是,Magick++不能做到这一点:

Caught exception: stripes.exe: no encode delegate for this image format `' @ err
or/constitute.c/WriteImage/1167
Pokračujte stisknutím libovolné klávesy...

这是一个很大的失望。我花了六个小时让图书馆工作,最终得到了这个。但我认为Magick++最终是可以做到的。因此,问题是,我做错了什么?

我应该在某处包含/要求/加载一些允许PNG保存的模块吗?

你把DLL放在你的二进制文件夹中了吗?你知道PNG是由zlib压缩的,对吧?例如:当您使用 SDL 库并使用 PNG 时,您需要将 zlib 和 libpng DLL 放在 bin 文件夹中,以允许程序读取和写入 PNG 文件。