FAQ200412:怎么在一个静态Picture控件中显示JPG文件

原创 2004年12月29日 15:55:00
my  example:  
HBITMAP  CPicture::LoadImageFromID(UINT  nIDRes)  
{  
           try  
           {  
                       HMODULE  hInst=GetModuleHandle(NULL);  
                       LPCTSTR  lpRes  =  MAKEINTRESOURCE(nIDRes);  
                       HRSRC  hRsrc  =  ::FindResource(hInst,  lpRes,  "JPG");  
                       if  (NULL  ==  hRsrc)  
                                   return  FALSE;  
                         
                       HGLOBAL  hGlobal  =  LoadResource(hInst,  hRsrc);  
                       if  (NULL  ==  hGlobal)  
                                   return  FALSE;  
                         
                       DWORD  dwSize  =  SizeofResource(hInst,  hRsrc);  
                       LPVOID  lpData  =  LockResource(hGlobal);  
                       if  (NULL  ==  lpData)  
                                   return  FALSE;  
                         
                       //  alloc  memory  based  on  file  size  
                       HGLOBAL  hJPG  =  ::GlobalAlloc(GMEM_MOVEABLE,  dwSize);  
                       LPVOID  lpJGP  =  ::GlobalLock(hJPG);  
                       memcpy(lpJGP,  lpData,  dwSize);  
                       ::GlobalUnlock(hJPG);  
                         
                       //LPVOID  pvData  =  GlobalLock(hGlobal);  
                       //_ASSERTE(NULL  !=  pvData);  
                         
                       //  read  file  and  store  in  global  memory  
                         
                       LPSTREAM  pstm  =  NULL;  
                       //  create  IStream*  from  global  memory  
                       HRESULT  hr  =  CreateStreamOnHGlobal(hJPG,  TRUE,  &pstm);  
                       _ASSERTE(SUCCEEDED(hr)  &&  pstm);  
                         
                       //  Create  IPicture  from  image  file  
                       LPPICTURE  gpPicture;  
                         
                       hr  =  ::OleLoadPicture(pstm,  dwSize,  FALSE,  IID_IPicture,  (LPVOID  *)&gpPicture);  
                       _ASSERTE(SUCCEEDED(hr)  &&  gpPicture);              
                       pstm->Release();  
                         
                       OLE_HANDLE  m_picHandle;  
                         
                       gpPicture->get_Handle(&m_picHandle);  
                       return  (HBITMAP)m_picHandle;  
           }  
           catch  (...)  
           {  
 
           }  
           return  NULL;  
}  
//call    
           CPicture  pic;    
           HBITMAP  hbmp=pic.LoadImageFromID(IDR_TODAY);//IDR_TODAY  is  jpg  id  
           (HBITMAP)::SendMessage(::GetDlgItem(this->m_hWnd,IDC_TODAY),  STM_SETIMAGE,  IMAGE_BITMAP,  (LPARAM)hbmp);  

VC++ Picture Control中显示jpg图片

(来源:http://hi.baidu.com/birdfly/blog/item/f18fb83e7e1dcefc828b13e3.html )首先选择图片: void ...
  • lmjq
  • lmjq
  • 2010年10月20日 16:38
  • 1401

MFC 对话框Picture Control(图片控件)中静态和动态显示Bmp图片

最近有同学问我如何实现MFC基于对话框在图片控件中加载图片?其实使用MFC显示图片的方法各种各样,但是还是有些同学不知道怎样显示.以前在《数字图像处理》课程中完成的软件都是基于单文档的程序,这里介绍两...
  • Eastmount
  • Eastmount
  • 2014年05月21日 02:29
  • 22065

MFC在picture control中JPG/BMP/ICO等格式图片显示,并支持清除图片显示

1、添加一个picture control工具,修改ID为ID_STATIC_PICTURE 2、增加一个按钮,caption为查看图片,双击按钮生成按钮的点击事件,在事件中添加代码,其中_T("P...
  • dafenqie
  • dafenqie
  • 2016年11月25日 17:03
  • 2206

VC2010使用GDI+在picture control控件里面显示图片

一、头文件添加 在项目的stdafx.h头文件里面添加如下头文件说明。 #include    // GDI+库头文件,并在App头文件中声明相关变量 using namespace Gdip...
  • fengdingha
  • fengdingha
  • 2014年02月19日 11:06
  • 2459

在Picture Control控件上显示JPG图片并让图片适应控件的大小

CImage image; int cx, cy; CRect rect; //根据路径载入图片 char strPicPath[]="D://Test11.jpg"; i...
  • u012372584
  • u012372584
  • 2017年01月08日 17:53
  • 2221

mfc picture控件显示png图片

onpaint函数里添加程序: CClientDC *pDC = new CClientDC(GetDlgItem(IDC_LIGHT)); CRect rect; GetDlgItem(IDC...
  • songyimin1208
  • songyimin1208
  • 2017年01月19日 14:31
  • 1149

VC++下载图片然后控件显示JPG图片的实现

本人采用VS2003开发平台,由于可以兼容VC6.0的大量代码。但是要实现目前C#的大量功能,还是要费不少功夫的。下面讲下如何如下图片下载,然后显示在图片控件的功能。单独封装了两个函数可以只直接使用。...
  • tiberx
  • tiberx
  • 2014年04月01日 11:44
  • 560

在VC6工程的Picture控件上显示JPG等图片,且图片随控件大小改变

1、Picture.h文件////////////////////////////////////////////////////////////////// If this code works, ...
  • zst126
  • zst126
  • 2008年02月20日 14:17
  • 8272

MFC—PictureControl控件使用,显示和处理图像

转载地址:http://b217dgy.blog.51cto.com/5704306/1332787/ 在《OpenCV教程-基础篇》的2.8节中,所创建的MFC图像显示是直接放在对话框面板的...
  • hyz5525
  • hyz5525
  • 2016年03月02日 09:00
  • 2463

在mfc中picture控件中显示Mat图片

void ShowMatImgToWnd(CWnd* pWnd, cv::Mat img) { if(img.empty()) return; CRect drect; ...
  • huixingshao
  • huixingshao
  • 2017年01月13日 16:37
  • 708
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:FAQ200412:怎么在一个静态Picture控件中显示JPG文件
举报原因:
原因补充:

(最多只允许输入30个字)