MFC处理jpg等格式图片 IPicture接口(一)

来源:互联网 发布:linux wget 命令 编辑:程序博客网 时间:2024/05/17 16:45

                                                                              MFC处理jpg等格式图片(一)

   IPicture接口                                           

1 管理一个图片对象及其属性。

  IPicture接口是Window95及以上操作系统支持的一个COM接口,它用来操作各种在   WINDOWS常见的图像格式。如,BMP JPEGGIF等许多文件格式都能识别。使用很方便。但是可能很多朋友对这个接口并不很熟悉,或者不太了解对COM接口的操作。就我个人认为,对COM接口的直接操作的确也是一件比较烦的工作。所以自然就想到了将这些操作封装起来以备后用。

 IPicture接口继承的IUnknown接口

 IPicture也有这些类型的成员:

 宽度       OLE_XSIZE_HIMETRIC(长)         ŗ        图片的宽度。

 高度       OLE_YSIZE_HIMETRIC(长)         ŗ        图像的高度。

IPicture实现各种图片加载三部曲

1定义两个类指针

IStream *pIStream;//创建一个IStream接口指针,用来保存图片流

IPicture *pIPicture;//创建一个IPicture接口指针,表示图片对象

2OleLoadPicture()从流中加载数据构成IPicture对象(将数据流合成IPicture对象)

OleLoadPicture(pIStream, 0, false,IID_IPicture, (LPVOID*)&(pIPicture));//用OleLoadPicture获得IPicture接口指针

3展示你的劳动成果 hDC为设备上下文

pIPicture->Render(hDC,0,0,theRect.Width(),theRect.Height(),0,hmHeight,hmWidth,-hmHeight,NULL);//在指定的DC上绘出图片

疑问:IStream流貌似离我们很遥远……如何将图片转化为流呢?未完待续……


原创粉丝点击