
jpg显示的步骤:
1。打开图片控件的绘图DC。2。使用OleLoadPicture函数读取jpg图像到内存中。(导入olepro32.dll)
3。向DC上绘制图像
示例如下:
CDC *pDC = GetDlgItem(IDC_STATIC_IMG)->GetDC() //获取控件DCHDC hDC = (HDC)pDC
HANDLE hFile=CreateFile(szImagePath, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL)//从指定的路径szImagePath中读取文件句柄
DWORD dwFileSize=GetFileSize(hFile, NULL) //获得图片文件的大小,用来分配全局内存
HGLOBAL hImageMemory=GlobalAlloc(GMEM_MOVEABLE, dwFileSize) //给图片分配全局内存
void *pImageMemory=GlobalLock(hImageMemory) //锁定内存
DWORD dwReadedSize //保存实际读取的文件大小
ReadFile(hFile, pImageMemory, dwFileSize, &dwReadedSize, NULL) //读取图片到全局内存当中
GlobalUnlock(hImageMemory) //解锁内存
CloseHandle(hFile) //关闭文件句柄
IStream *pIStream//创建一个IStream接口指针,用来保存图片流
IPicture *pIPicture//创建一个IPicture接口指针,表示图片对象
CreateStreamOnHGlobal(hImageMemory, false, &pIStream) //用全局内存初使化IStream接口指针
OleLoadPicture(pIStream, 0, false, IID_IPicture, (LPVOID*)&(pIPicture))//用OleLoadPicture获得IPicture接口指针
//得到IPicture COM接口对象后,你就可以进行获得图片信息、显示图片等 *** 作
OLE_XSIZE_HIMETRIC hmWidth
OLE_YSIZE_HIMETRIC hmHeight
pIPicture->get_Width(&hmWidth) //用接口方法获得图片的宽和高
pIPicture->get_Height(&hmHeight)
pIPicture->Render(hDC,0,0,100,100,0,hmHeight,hmWidth,-hmHeight,NULL) //在指定的DC上绘出图片
GlobalFree(hImageMemory) //释放全局内存
pIStream->Release() //释放pIStream
pIPicture->Release() //释放pIPicture
ReleaseDC(pDC)
可以通过以下几种方式将图片控制在1600px以内:
使用图片编辑软件,如Photoshop、美图秀秀或GIMP等,将图片大小调整为1600px或以下。
在HTML或CSS中使用max-width属性,将图片的最大宽度设置为1600px。例如:
<img src="example.jpg" style="max-width:1600px">,example.jpg这里替换成你的图片地址
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)