【发布时间】:2014-11-22 05:26:53
【问题描述】:
这是我关于 Magick++ 的第 3rd 个后续帖子,尽管我自己花费了大量的精力来处理它。
我有这个程序:
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 保存的模块吗?
【问题讨论】:
-
尝试将其保存为 GIF 或 JPEG 格式,看看其他的是否正常。如果是这样,问题是您没有正确安装 PNG 委托,或者正如@rafalon 所建议的那样。
-
@MarkSetchell Gif 是唯一可行的方法。
-
嗯,这告诉我们你的代码和编译过程是正确的,所以问题在于代理的安装 - 这些是 ImageMagick 用来完成各种标准工作的
helper tools。你可以从这里下载它们...imagemagick.org/download/delegates -
这些是一些带有源代码的档案吗?我该怎么处理他们……?为什么一切都这么复杂? :(