MFC处理jpg等格式图片(一)
IPicture接口
1 管理一个图片对象及其属性。
IPicture接口是Window95及以上操作系统支持的一个COM接口,它用来操作各种在 WINDOWS常见的图像格式。如,BMP、 JPEG、GIF等许多文件格式都能识别。使用很方便。但是可能很多朋友对这个接口并不很熟悉,或者不太了解对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流貌似离我们很遥远……如何将图片转化为流呢?未完待续……