使用VC实现JPG图片加载-it群
来源:百度文库 编辑:神马文学网 时间:2024/04/30 16:16:43
在OnDraw()函数中添加如下的代码,并在工程目录下放入test.jpg的图片。IPicture *pPic;IStream *pStm;CFileStatus fstatus;CFile file;LONG cb;if (file.Open("test.jpg",CFile::modeRead)&&file.GetStatus("test.jpg", fstatus)&& ((cb = fstatus.m_size) != -1)){HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE, cb);LPVOID pvData = NULL;if (hGlobal != NULL){if ((pvData = GlobalLock(hGlobal)) != NULL){file.ReadHuge(pvData, cb);GlobalUnlock(hGlobal);CreateStreamOnHGlobal(hGlobal, TRUE, &pStm);if(SUCCEEDED(OleLoadPicture(pStm,fstatus.m_size,TRUE,IID_IPicture,(LPVOID*)&pPic))){OLE_XSIZE_HIMETRIC hmWidth;OLE_YSIZE_HIMETRIC hmHeight;pPic->get_Width(&hmWidth);pPic->get_Height(&hmHeight);double fX,fY;CRect rect;GetClientRect(rect);fX=rect.Width();fY=rect.Height();//fX = (double)pDC->GetDeviceCaps(HORZRES)*(double)hmWidth/((double)pDC->GetDeviceCaps(HORZSIZE)*100.0);//fY = (double)pDC->GetDeviceCaps(VERTRES)*(double)hmHeight/((double)pDC->GetDeviceCaps(VERTSIZE)*100.0);if(FAILED(pPic->Render(*pDC,0,0,(DWORD)fX,(DWORD)fY,0,hmHeight,hmWidth,-hmHeight,NULL))) AfxMessageBox("Failed To Render The picture!");pPic->Release();}elseAfxMessageBox("Error Loading Picture From Stream!");}}}elseAfxMessageBox("Can't Open Image File!");
详细出处参考:http://www.itqun.net/content-detail/591764.html
详细出处参考:http://www.itqun.net/content-detail/591764.html
使用VC实现JPG图片加载-it群
VC 使用技巧大全-it群
艾奇视觉设计-运用ImageLazyLoad实现图片的延迟加载技术
VC++实现插件编程
VC++中使用CAPI连接MySql - How Will It To CHANGE Yo...
jpg
在VC++中创建DLL文件并加载
在VC++中创建DLL文件并加载
200571164639962.jpg (JPEG 图片, 1190x1683 象素)
如何把Word文件变成JPG图片?
将PPT内容导出为JPG图片
【背景图】虚幻图片两则(JPG)
22边框+JPG图片+UP文字
bf533使用powerpc405引导加载代码
Spring中使用classpath加载配置文件浅析
bf533使用powerpc405引导加载代码
例解 VC++ 6.0 实现 JNI
WORD文档转为JPG图片/WORD文档里的图片变成JPG格式的独立文件
[原]图片加载进度实时显示
预加载图片和JavaScript Image()对象
uClinux下可加载设备驱动程序的研究与实现
MFC实现全屏功能的代码-it群
VC Studio 使用技巧大全
VC常用数据类型的使用