本文主要是介绍Magick++ 6.8.5在MFC中的使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
https://blog.csdn.net/akof1314/article/details/8924915
最近使用Zbar识别二维码信息的,用到了Zbar。只用调用zbaring.exe即可扫描出二维码信息,如下所示。
想用C++来调用,但需要使用Magick++动态库,所以自己找了下这方面的信息。
Magick++是ImageMagick图像库的C++封装。ImageMagick是一个集创建、编辑、合成和转换图像格式的软件套件。
编译步骤:
1.从http://www.imagemagick.org/download/windows/ImageMagick-windows.zip下载源代码包;
2.解压到文件夹,打开"..\VisualMagick\configure"目录下的configure.exe文件,按"下一步"进入配置界面,可以进行设置编译类型和编译选项,在这里我使用默认的编译类型,即Dynamic Multi-threaded DLL runtimes类型,编译选项选择默认选项,如下图所示:
3.继续点击"下一步",直到"完成",就可以看到在"..\VisualMagick"目录自动生成了"VisualDynamicMT.sln"文件(此名称会根据不同的编译类型而不同),用VS2008进行打开,右键解决方案里的"All"工程,选择"Clean",然后再选择"Build"。编译完成之后,就可以在"..\VisualMagick"下的"bin"文件夹和"lib"文件夹看到所生成的文件。
4.打开"\VisualMagick\bin"目录下的"IMDisplay.exe",载入任意一张图片(不支持中文路径),看是否可以正常显示,如下图所示:
下面介绍在VS2008中使用Magick++
1.新建win32控制台项目,选择"Empty project",去除"Precompiled header",工程名为TestMagick;
2.添加新建一个cpp文件,名称为test.cpp,代码如下:
1 2 3 4 5 6 7 8 9 10 11 | #include <Magick++.h> using namespace Magick; int main( int /*argc*/, char ** argv) { InitializeMagick(*argv); Image image( "100x100", "white"); image.pixelColor( 49, 49, "red"); image.write( "red_pixel.png"); return 0; } |
代码的功能是创建一张100x100像素的白色背景图片,中心像素为红色。
3.右键工程→"Properties"→"C/C++"下,"General"→"Additional Include Directories"填入"X:\ImageMagick-6.8.5";"X:\ImageMagick-6.8.5\Magick++\lib","Preprocessor"→"Preprocessor Definitions"增加填入";_VISUALC_;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS"。"Linker"下,"General"→"Additional Library Directories"填入"X:\ImageMagick-6.8.5\VisualMagick\lib","Input"→"Additional Dependencies"填入"CORE_DB_Magick++_.lib"。"Debugging"→"Working Directory"填入"X:\ImageMagi
这篇关于Magick++ 6.8.5在MFC中的使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!