CImageMaster轻松显示图片

来源:互联网 发布:淘宝网首页茵曼 编辑:程序博客网 时间:2024/05/30 05:08

原文地址:http://blog.csdn.net/norains/archive/2007/09/09/1777823.aspx

//============================================================

//TITLE:

//    CImageMaster轻松显示图片

//AUTHOR:

//    norains

//DATE:

//    Sunday  26-September-2007

//Environment:

//        EVC4.0 + Windows CE 5.0 Standard SDK

//============================================================

虽然IImaging组件可以很简单地显示图片,但如果是更好地显示图片,却又不简单.那有没有什么方法能很简单又能更好地显示图片呢?答案是:!那就是使用CImageMaster!     

  ...    

  ... ...   

  ... ... ...   

Oh,Forgive me! 原谅我这个自卖自夸的人吧! 原谅我这个无聊的人偶尔发发的牢骚吧!世界多美好! :-)   

这篇豆腐块主要是介绍CImageMaster的使用,而代码的主要思想可以参考我另外一篇文章:详聊IImage的图片显示:

 http://blog.csdn.net/norains/archive/2007/08/26/1759912.aspx   

好吧,老样子,让我们看看该类的函数吧:

1.      Open(const TCHAR *pcszFile)

打开一个图片文件.如果打开成功,需要调用Close()函数进行资源的释放.

2.      Close()

调用Open()成功后需调用该函数进行资源的释放.

3.      IsOK()

判断是否已经准备好绘制图档.

4.      GetHeight()

获取图片的高度.

5. GetWidth()

  获取图片的宽度.

  6.DrawIntegrity(HDC hdc, ImageDrawMode mode,const RECT *pDstRect, const RECT *pSrcRect,BOOL bDraw)

绘制原始图档.如果图片过大,可能会绘制失败.

hdc:目标DC

mode:绘制的模式.

        IMG_FIT - 按比例拉伸至整个pDstRect区域.

        IMG_STRETCH - 填充整个pDstRect区域,而不管其比例.

        IMG_NATIVE - 如果pSrcRect区域小于pDstRect,则按pSrcRect的大小在pDstRect居中显示;如果pSrcRect区域大于pDstRect,则效果和IMG_FIT相同.

pDstRect: 目标DC所绘制的区域.

pSrcRect: DC所需要绘制的区域.

bDraw: TRUE时立刻绘制到hdc;FALSE不绘制到hdc.因为在DrawIntegrity()函数中需要从文件中获取文件信息并创建图片DC来保存图片信息,所以第一调用的时候会比较慢,但以后由于是将图片DC直接绘制到hdc,所以速度会大大加快.

7.DrawThumbnail(HDC hdc, ImageDrawMode mode, const RECT *pDstRect, const RECT *pSrcRect, BOOL bDraw)

绘制缩略图.如果DrawIntegrity()函数失败,调用该函数绘制缩略图可能会成功.参数的意义和DrawIntegrity()相同.

代码的具体作用和思想请参见:

http://blog.csdn.net/norains/archive/2007/08/26/1759912.aspx

CImageMaster的代码如下:

  

原创粉丝点击