关注联楷|返回首页 | 网站案例 | 帮助中心

合作共赢、快速高效、优质的网站建设提供商

上海网站建设 

服务热线:021-61394118

上海联楷科技

VS2005下CxIMage验证码读取

作者:佚名   时间:2012-11-18   分享到:

1首先我们要确定在程序中是希望静态链接还是动态链接,在这里我建议大家使用动态链接,因为这个库有点大,如果使用静态链接的话你的应用程序体积会额外增加1MB多。

2。然后确定在MFC中使用还是在CRT环境中使用,这个库专门为你建了这两个工程来创建不同环境中使用的运行时库,跟据你的需求来选择编译CxImageCrtDll还是CxImageMfcDll工程,如果你希望使用静态库链接的话除了这两个工程不需要编译其它的工程都需要编译。并且在引用这个静态库的时候要把这些所有编译过的工程里的*.lib全部拷到你的程里去。

 

以静态链接为例:

1、编译完工程后,将以下文件拷到你建立的工程里去

先将头文件拷到你的工程里新建文件夹的include去:

xfile.h、ximacfg.h、ximadef.h、ximage.h、xiofile.h、xmemfile.h,

使用静态链接需要拷以下文件到新建的文件夹lib中去:

cximage.lib、png.lib、Jpeg.lib、jbig.lib、Tiff.lib、libdcr.lib、jasper.lib、zlib.lib、mng.lib

 

2、在你的工程里引用这个库,添加头文件和库文件

#include "../include/ximage.h"

#pragma comment(lib, "../lib/cximage.lib")

#pragma comment(lib, "../lib/png.lib")

#pragma comment(lib, "../lib/cximagecrt.lib")

#pragma comment(lib, "../lib/libdcr.lib")

#pragma comment(lib, "../lib/jasper.lib")

#pragma comment(lib, "../lib/jbig.lib")

#pragma comment(lib, "../lib/Jpeg.lib")

#pragma comment(lib, "../lib/mng.lib")

#pragma comment(lib, "../lib/libdcr.lib")

#pragma comment(lib, "../lib/Tiff.lib")

#pragma comment(lib, "../lib/zlib.lib")

如果是静态链接拷过来的那些*.lib文件全部要引用进去否则无法链接,

在这里有人可能会问既然只包含了"ximage.h"这一个头文件为什么要拷那么多头文件过来呢?

这是因为"ximage.h"这个头文件依赖那几个头文件所以必须拷过来。

 

3配置vs2005

在 项目->属性->配置属性->常规

MFC使用: 在共享DLL中使用MFC

字符集: 使用多字节字符集

在项目->属性->配置属性->C/C++->代码生成

运行时库 : /MD

预编译头:不使用预编译头

 

 

 

4使用过程

以显示一张PNG图像为例

新建一个mfc工程CxImageDemo,然后再CxImageDemoView.cpp中的OnDraw(CDC *pDC)函数中添加:

 

 CxImage  image; // 定义一个CxImage对象

     image.Load(_T("../data/demo.png"), CXIMAGE_FORMAT_PNG); // 加载一幅png图片,图片路径自己更改

image.Draw(pDC->GetSafeHdc(), 0, 0);



如没特殊注明,文章均为上海联楷网络原创,转载请注明来自:http://www.linksj.com/contact/20151229/n7364.html

上海联楷网络新闻