当前位置: 首页 > news >正文

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

相关文章:

  • no x11 display variable was set but this progra...
  • Android开发视频教学第一季(1-16集)视频源码下载
  • 机柜就是数据中心
  • 信息防泄露:如何为企业数据设一道安全关卡?
  • LINQ学习第一天
  • VS2012下使用 LocalDB
  • 100-47
  • .Net Winform开发笔记(一)
  • 读《实战nginx-取代Apache的高性能web服务器》-Nginx HTTP 负载均衡和反向代理的配置与优化精华纪要...
  • java程序员必知的 8大排序
  • 总结:MySQL备份与恢复的三种方法
  • 文件自动增长和自动收缩
  • 这里只是放我的学习笔记
  • 修改/etc/sudoers 配置文件
  • iphone中获取文件路径的4种方法
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • HTTP那些事
  • JDK 6和JDK 7中的substring()方法
  • Js基础——数据类型之Null和Undefined
  • Redis的resp协议
  • v-if和v-for连用出现的问题
  • Webpack 4 学习01(基础配置)
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 双管齐下,VMware的容器新战略
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 异步
  • 用quicker-worker.js轻松跑一个大数据遍历
  • 自制字幕遮挡器
  • MPAndroidChart 教程:Y轴 YAxis
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • #stm32整理(一)flash读写
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (003)SlickEdit Unity的补全
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (JS基础)String 类型
  • (笔试题)合法字符串
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (剑指Offer)面试题34:丑数
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .net core 6 redis操作类
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .NET 表达式计算:Expression Evaluator
  • .net 提取注释生成API文档 帮助文档
  • .NET/C# 编译期间能确定的相同字符串,在运行期间是相同的实例
  • .NET框架
  • .NET连接MongoDB数据库实例教程
  • .NET值类型变量“活”在哪?
  • [ Linux 长征路第二篇] 基本指令head,tail,date,cal,find,grep,zip,tar,bc,unname
  • [100天算法】-x 的平方根(day 61)
  • [145] 二叉树的后序遍历 js
  • [2018/11/18] Java数据结构(2) 简单排序 冒泡排序 选择排序 插入排序
  • [2019/05/17]解决springboot测试List接口时JSON传参异常
  • [BROADCASTING]tensor的扩散机制