这是我之后关于Magick ++的3 rd ,尽管我花了很多精力试图自己处理它。
我有这个程序:
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
保存的模块吗?
答案 0 :(得分:0)
你把DLL放在你的二进制文件夹中了吗?你知道PNG是由zlib压缩的,对吧?例如:当您使用SDL库并使用PNG时,您需要将zlib和libpng DLL放在bin文件夹中以允许程序读取和写入PNG文件。