CxImage图像处理库VS2010编译和调用(静态库)

来源:互联网 发布:网站数据库放在哪里 编辑:程序博客网 时间:2024/06/07 05:44
一、静态库生成1.CxImage 7.02下载:点击下载

2.解压到比如:E:\\cximage702_full\目录下

3.解决方案的组织结构         直接打开CxImageFull_vc10.sln,打开后发现共有该解决方案下共有14个项目,                   a.cximage,jasper,jbig,jpeg,libdcr,libpsd,mng,png,tiff,zlib这10个项目是生成静态库文件的,对应的静态库文件分别是cximage.lib,jasper.lib,jbig.lib,jpeg.lib,libdcr.lib,libpsd.lib,mng.lib,png.lib,tiff.lib,zlib.lib;                   b.CxImageCrtDll和cximagemfcdll这两个项目是生成动态库的;                   c.另外有demo和demodll这两个项目是演示用的,生成demo.exe和demodll.exe两个应用程序(在E:\\cximage702_full\bin目录下),两者之间的差别可能是一个使用的是静态库(demo),一个使用的是动态库(demodll)

4.整个解决方案项目之间的依赖关系是• 10个静态库文件不依赖任何其他项目• CxImageCrtDll和cximagemfcdll这两个项目依赖于除cximage外的其它静态库项目,• demo依赖于10个静态库项目• demodll不依赖任何项目,但在链接器->输入->附加依赖项的时候发现,该项目依赖于10个静态库项目生成的对应lib文件,这些文件必须在此之前生成5.库文件的生成• 根据依赖关系,在CxImageCrtDll,cximagemfcdll,demo任意一个项目上上右键生成,都会在相应的E:\\cximage702_full\Debug目录或者E:\\cximage702_full\Release\目录下得到静态库文件二、调用库前的准备工作• 建立E:\\cximage文件夹(任意)o 组织结构如下o E:\\cximageo |-----includeo |-----libo |--debugo |---release• 将E:\\cximage702_full\CxImage文件夹下的所有头文件和源文件拷贝到E://cximage/include文件夹下• 静态库的准备o 将debug模式下生成的静态库文件E:\\cximage702_full\CxImage\CxImageDLL\Debug拷贝到E:\\cximage\lib\debug目录下o 将release模式下生成的静态库文件E:\\cximage702_full\CxImage\CxImageDLL\Release拷贝到E:\\cximage\lib\release目录下三、调用的具体操作新建一个win32控制台项目,其配置如下:项目配置(静态调用)新建一个win32控制台项目,其配置如下:项目配置(静态调用)a.项目-->属性-->配置属性-->常规里按如下配置o选择“在共享DLL中使用MFC”,o使用“多字节字符集”o选择“在共享DLL中使用MFC”,o使用“多字节字符集”b.VC++目录o包含目录设置:o包含目录设置:E:\\cximage\include\o库目录设置:o库目录设置:E:\\cximage\lib\debug或者release(具体设置)c.链接器->输入->附加依赖项o以分号或者回车为间隔,填入lib文件夹中的库文件,即生成的十个静态库文件ocximage.lib,jasper.lib,jbig.lib,jpeg.lib,libdcr.lib,libpsd.lib,mng.lib,png.lib,tiff.lib,zlib.libo以分号或者回车为间隔,填入lib文件夹中的库文件,即生成的十个静态库文件ocximage.lib,jasper.lib,jbig.lib,jpeg.lib,libdcr.lib,libpsd.lib,mng.lib,png.lib,tiff.lib,zlib.libd.C/C++代码生成o结构成员对齐:16字节o预编译头:不使用o结构成员对齐:16字节o预编译头:不使用四、测试程序

#include <ximage.h>void main(){CxImage image;// bmp -> jpgimage.Load(_T("lena.bmp"), CXIMAGE_FORMAT_BMP);if (image.IsValid()){if(!image.IsGrayScale())image.IncreaseBpp(24);image.SetJpegQuality(80);image.Save(_T("lena.jpg"),CXIMAGE_FORMAT_JPG);}}





0 0