VC显示JPEG图片

发布时间:2016-12-9 8:33:15 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"VC显示JPEG图片",主要涉及到VC显示JPEG图片方面的内容,对于VC显示JPEG图片感兴趣的同学可以参考一下。

具体思路:将JPEG文件加载到堆中,然后在堆中创建一个数据流,接着调用OleLoadPicture函数加载流中的数据到IPictrue接口中,最后调用IPicture接口中 的Render方法输出图像信息。 下面贴上关键代码 IStream *m_pStream;                                         //定义流对象 IPicture *m_pPicture;                                 //定义接口对象 OLE_XSIZE_HIMETRIC m_JPGWidth;                     //图像宽度 OLE_YSIZE_HIMETRIC m_JPGHeight;                    //图像高度 HGLOBAL hMem;                                                //堆句柄 CFile file; file.Open("test.jpg",CFile::modeReadWrite); DWORD len = file.GetLength(); hMem = GlobalAlloc(GMEM_MOVEABLE,len);//在堆中分配内存 LPVOID pData = NULL; //定义一个指针对象 pData = GlobalLock(hMem);//锁定内存区域 file.ReadHuge(pData,len);//读取图像数据到堆中 file.Close();// GlobalUnlock(hMem);//解除对堆得锁定 CreateStreamOnHGlobal(hMem,TRUE,&m_pStream);//在堆中创建流 OleLoadPicture(m_pStream,len,TRUE,IID_IPicture,(LPVOID*)&m_pPicture);//加载图像 m_pPicture->get_Height(&m_JPGHeight);//获取图像高度 m_pPicture->get_Width(&m_JPGWidth); //绘制图片 m_pPicture->Render(pDC->m_hDC,0,0,(int)(m_JPGWidth/26.45),(int)(m_JPGHeight/26.45)               ,0,m_JPGHeight,m_JPGWidth,-m_JPGHeight,NULL);        //绘制JPEG图像

上一篇:计算器(calculator ;counter)一般是指“电子计算器”
下一篇:深入理解jQuery中$.get、$.post、$.getJSON和$.ajax的用法

相关文章

关键词: VC显示JPEG图片

相关评论