WinCE6.0下在Static Text控件中显示JPG图片

我要在VS2005下开发一个基于三星6410开发板和WinCE6.0操作系统的应用软件,其中需要在ListBox中显示JPG格式的图片文件,然后双击图片名就在指定的Static Text控件中显示该图片。在网上查了很多资料,用了IPicture和CImage都没有支持,最后用IImage就可以了。这个过程确实很痛苦,为了给后来者一点参考的价值,下面我将我的源程序列出来供借鉴。

包含的头文件:
#include <initguid.h>
#include <imaging.h>
#pragma comment (lib,"Ole32.lib")

注意:必须按上面的顺序!


void CCameraImgAnalyseDlg::OnLbnDblclkLstImagefile()
{
 // TODO: Add your control notification handler code here
 CString strFilePath = L"\\Storage Card\\";
    CString strFileName;
    CString strFileType;

 mFileType.GetWindowTextW(strFileType)

 if(strFileType == "图片文件")
 {
  int index = mImgFileList.GetCurSel();
  mImgFileList.GetText(index,strFileName);
  strFilePath = strFilePath + strFileName;

  CDC *pDC;
  CRect rc;
  mPicShow.GetClientRect(rc);
  pDC = GetDlgItem(IDC_STA_SHOWAREA)->GetDC();
  IImage * m_pImage;
  IImagingFactory * m_pImagingFactory;
    
  HRESULT hr;

  //COM初始化
  if (FAILED(hr = CoInitializeEx(NULL, COINIT_MULTITHREADED)))
  { 
   goto END;
  }

  //创建COM实例
  if(FAILED(hr = CoCreateInstance(CLSID_ImagingFactory,NULL,CLSCTX_INPROC_SERVER,IID_IImagingFactory,(void**) &m_pImagingFactory)))
  {
   goto END;
  }

  //从文件中创建图片
  if(FAILED(hr = m_pImagingFactory->CreateImageFromFile(strFilePath, &m_pImage)))
  {
   goto END;
  }
    
    //绘制图片
  if(FAILED(hr = m_pImage->Draw(pDC->m_hDC,&rc,NULL)))
  {
   goto END;
  }
 }
 else if(strFileType == "视频文件")
 {

 }
 else
 {
 }
  
END:
 //释放资源
 if(m_pImage != NULL)
    {
  m_pImage->Release();
  m_pImage = NULL;
 }

 if(m_pImagingFactory != NULL)
 {
  m_pImagingFactory->Release();
  m_pImagingFactory = NULL;
 }

     CoUninitialize();
}

转载于:https://www.cnblogs.com/xiaocheng-zjc/archive/2012/11/15/2771962.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值