CxImage使用方法经验

CxImage使用方法经验

CxImage是不错的图像处理类,下载下来后,发现太复杂,详细说明的文档也没有,个人总结经验如下:

(一)安装

使用前要先打开CxImgLib.dsw,进行编辑成LIB库文件。随后的使用方法如下:

一、最复杂的方法,功能最好(占空间大):

"1.将以下几个目录拷贝到与“我新建的项目目录”同一级目录里,比如如下:

[CxImage]cximage.dsp

[jasper]jasper.dsp

[jbig]jbig.dsp

[jpeg]Jpeg.dsp

[mng]mng.dsp

[png]png.dsp

[raw]libdcr.dsp

[tiff]Tiff.dsp

[zlib]zlib.dsp

[我的项目]"

2.再将上面的dsp插入到我的项目的workspace中(add project)

3.VC中的菜单project/dependencies中,将我的项目depend on到其它项目(即其它项目打勾)

4.VC中的菜单project/setting..中,

 C/C++/- Code Generation/- Use run-time library : 都要选Multithreaded DLL

C/C++/Precompiled headers :选 not using precompiled headers

C/C++/Code Generation/ Additional Include Directories:  输入  ../cximage"

5.VC中的菜单project/set active project,选上我的项目

6.在我的项目的代码中,要加上#include "ximage.h"

 

二、最简单的使用方法(占空间小)

1.将CXIMAGE项目中生成的所有*.lib文件(搜索一下),拷贝到我的项目的目录中:

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

注意,这些lib的设置方式要和我的项目的设置方式一致,如都是release版本或者都是debug的版本

2.将这些lib文件insert到当前项目中即可

3. 将 cximage目录下面所有的*.h拷到“我的项目的目录”之下

4.VC中的菜单project/setting..中,

 C/C++/- Code Generation/- Use run-time library : 都要选Multithreaded DLL

C/C++/Precompiled headers :选 not using precompiled headers"

5.在我的项目的代码中,要加上#include "ximage.h"

这样就能在我的项目中正常使用了。

 

(二)使用

其它摸索出来的使用:

创建和删除类对象 CxImage* image;

每次要用到时,就image = new CxImage();

然后可以image->Load(....)等操作了

每次用完时,就delete image;   //不可以 delete *image;"

从文件加载图像到类中 image.Load("image.bmp", CXIMAGE_FORMAT_BMP);

保存图像到文件 image.Save("image.jpg",CXIMAGE_FORMAT_JPG)

判断类中的图像是否有效 "image.IsValid()

//如果类中没有图像,这个函数返回假;

//如果先加载一个图像成功,这个函数就返回真;然后再LOAD另一个图像不成功,这个函数返回值仍是真!因为类中的图像仍存在!

 

从内存加载图像到类中(解码) 

CxImage* image;

image = new CxImage();

image->Decode( (BYTE*)databuf, size, CXIMAGE_FORMAT_PNG );

delete image;

//databuf指向的内存地址中已经有一个图像(可以是从图片文件中读出来的),size是图像大小

//这个函数将这个图像装载到image类中"

 

将图像保存到内存中(编码) 

long size="0";

BYTE* buffer="0";

image.Encode(buffer,size,image_type);

...

image.FreeMemory(buffer);"

 

将类中的图像转成HBITMAP句柄 HBITMAP m_bitmap = image.MakeBitmap(hDC);

//需要一个HDC,可以是HDC hDC = ::GetDC(NULL); 得到的 (最后再::ReleaseDC(NULL,hDC);)

//也可以是CDC* hdc = m_picture.GetDC();  然后hdc->m_hDC就是HDC了(m_picture是一个PICTURE BOX)"

 

将类中的图像转成HANDLE HANDLE hDIB = image->CopyToHandle();

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CXImage 是一个图像处理库,用于在 C++ 程序中处理和操作图像。它提供了一组功能丰富的图像处理函数,可以进行图像加载、保存、编辑以及各种图像处理操作,如裁剪、缩放、旋转、滤镜等等。 对于初学者而言,CXImage 的帮助文档是非常有用的。它详细介绍了库的各个功能和使用方法,并提供了丰富的示例代码。通过阅读文档,用户可以快速掌握 CXImage 的基本操作和常用功能。 首先,文档详细介绍了 CXImage 的安装和配置方法,帮助用户正确地集成 CXImage 到自己的项目中。然后,文档详细介绍了 CXImage 的加载和保存功能,包括如何从文件或内存中加载图像,以及如何保存图像到文件或内存。 接下来,文档介绍了各种图像处理操作的方法和参数。例如,文档详细说明了如何裁剪图像,如何进行缩放和旋转操作,如何添加文字和水印等等。对于每个操作,文档都提供了示例代码和图像效果示意图,方便用户理解和实践。 此外,文档还包含了 CXImage 的高级功能,如颜色空间转换、图像滤镜和特效等等。对于对图像处理有更高要求的用户,这些高级功能是非常有用的。文档详细介绍了这些功能的使用方法和效果,帮助用户更深入地了解和掌握 CXImage。 总之,CXImage 的帮助文档能够提供全面的指导和帮助,使用户能够快速上手并灵活运用这个强大的图像处理库。无论是初学者还是有一定经验的开发者,都可以从文档中找到所需的信息和解决方案,实现各种图像处理需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值