admin管理员组文章数量:1540638
2024年3月15日发(作者:)
维普资讯
2007年第7期 计算机系统应用
基于Wi nd ows CE图片查看器的设计与实现
The Design and Realization of Picture Viewer of Windows CE——based
周先发 雷跃明 (重庆大学软件学院重庆400030)
摘要:数字图片浏览是人们的视觉娱乐鉴赏需求。本文在Windows CE嵌入式操作系统中,结合各种标准图片格
式的特点,设计了一个基于嵌入式设备上的图片查看器,并将其成功的应用到汽车车载综合电脑系统中。
关键词:Windows CE Plafform Builder图片格式图像压缩COM编解码器
1 引言
的非PC领域而全新设计的战略性操作系统产品 。
随着汽车工业与电子信息产业的加速融合,汽车
开始向信息化、电子化、多媒体化和智能化方向发展。
嵌入式应用软件
当前,许多高、中档轿车中的电子设备配置都在向豪华
型、个性化方向发展。其中作为视听享受的高品质音
嵌入式操作系统
I
响和液晶显示器己经成为许多车型的标准配置。人们
嵌入式硬件平台
对轿车的娱乐性要求也在不断提高,车载视频光盘、车
(\, 嵌入\ 一藏箍理器 )、,( 嵌入箴 圈设备 、 )
;
载数字化视频光盘、车载电视、全球卫星导航系统等产
品得到越来越多用户的青睐。而车载多媒体视听系统
中图片的存储和播放是其主要功能指标之一。如今很
图1 嵌入式系统体系结构图
多嵌入式操作系统被应用在各种小巧精致的移动设备
上,但是它们对图片的预览支持性不好,没有象桌面操
它有其自身的特点:(1)精简的模块化操作系统;(2)
作系统Windows XP下的Windows图片和传真查看器
多硬件平台支持;(3)支持有线和无线的网络连接;
这样优秀的软件,本文将运用Windows的Imaging接
(4)稳健的实时性支持;(5)丰富的多媒体和多语言支
持;(6)强大的开发工具。
口开发一个基于嵌入式系统的图片查看器。
2.3嵌入式操作系统的裁剪及Platform Builder
由于嵌入式操作系统是可以根据具体应用的需求
2相关技术及准备
而可裁剪的,以求达到实时性、高效性、低成本。Plat-
2.1嵌入式系统
form Builder是Microsoft推出的针对Windows CE开发
嵌入式系统(Embedded System)是以应用为中
的集成开发环境。通过Platform Builder,开发人员可
心,以计算机技术为基础,并且软硬件可裁剪,使用于
以对Windows CE操作系统进行定制、构建、下载、调试
对功能、可靠性、成本、体积及功耗等有严格要求的专
及发布,并且可以开发简单的基于Windows CE的应用
用计算机系统 。如按照历史性、本质性以及普遍性
程序。
要求,则应定义为:嵌入到对象体系中的专用计算机系
由于本例将调用Imaging API和Windows CE自
统。图1为嵌入式系统体系结构图。
带的编解码器来设计和实现此图片查看器,因此在定
2.2 Windows CE
制Windows CE时,需要加入Still Image Codec Support
Windows CE是一个具有抢先式多任务功能,并具
(Encode and Decode)、Still Image Decoders、Still Image
有强大通信能力的嵌入式操作系统;是Microsoft专门
Encoders三大模块,用来支持Imaging接121的访问。
为信息设备、移动应用、消费类电子产品、嵌入式应用
而采用这种设计思路主要基于以下的考虑因素:(1)
Research and Development研究开发 1 5
维普资讯
计算机系统应用 2007年第7期
使用标准的组件可以使程序降低对内存的消耗。因为
Microsoft的COM组件已经对内存管理实现了优化,从
JPEG采用对称的压缩算法,即在同一系统环境下压缩
和解压缩所用的时间相同。
GIF文件(图形交换格式):此文件是CompuServe
公司在1987年开发的图像文件格式。GIF文件的数据
而可以减少开发人员在内存管理方面投下的精力。
(2)使用Windows CE自带的编解码器可以不把解码
代码加入到产品中,避免了版权问题。(3)代码以及
是经过压缩的,它采用了可变长等压缩算法。GIF格式
的图像深度从1—8bit,即GIF最多支持256种色彩的 解码的效率比较高,满足嵌入式设备内存小、实时性高
的要求。
2.4组件对像模型(COM)与接口
COM组件是一个说明可动态互变组件的规范。
它提供了为保证能够互操作,客户和组件应遵循的一
些标准。它是以Win32动态连接库(DLLs)或可执行程
序(EXEs)的形式发布的可执行代码组成的 。遵循
COM规范编写的组件将能够满足对组件架构的所有
需求。它是一种给其它应用程序提供面向对象的API
或服务的极好方法。
IUnKnown是所有COM接口的根源,是唯一一个
不从其它COM接口派生的COM接口。所有其它合法
的COM接口都必须直接从IUnKnown派生,或者从其
它合法c0M接口派生。IUnKnown提供了三个方法:
Querylnterface用于运行时类型发现,也等价于C++
的dynamic_cast操作符;AddRef用于通知对象一个接
口指针已经被复制了;Release用于通知对象一个接口
指针已经被销毁了,对象为该客户保留的所有资源都
可以被释放了。
3计算机图片与图像
3.1常用图片格式
现在仍使用广泛的计算机图片格式有BMP、JPEG、
GIF、PNG、TIFF、PCX等等。由于Windows CE自带有前
面四种解码器,所以本文将对四种文件格式作简要介
绍。
BMP文件:这是一种与硬件设备无关的图像文件
格式,使用非常广泛。它采用位映射存储格式,除了图
像深度可选以外,不采用其它任何压缩,因此,BMP文
件所占用的空间很大。BMP文件的图像深度可选
1bit、4bit、8bit、24bit及32bff。BMP文件存储数据时,图
像的扫描方式是按从左到右、从下到上的顺序。
JPEG文件(联合摄影专家组):是由CCI1T和ISO
联合组成的一个图像专家组。该专家组制定了第一个
压缩静态数字图像的国际标准,简称为JPEG算法。
图像。GIF格式的另一个特点是其在一个GIF文件中
可以存多幅彩色图像,如果把存于一个文件中的多幅
图像数据逐幅读出并显示到屏幕上,就可以构成一种
最简单的动画。
PNG文件(可移植网络图形):PNG图片以任何颜
色深度存储单个光栅图像。它是与平台无关的格式,
并且支持高级别无损耗压缩,支持alpha通道透明度,
支持伽玛校正,支持交错。PNG受最新的Web浏览器
支持。
3.2图像压缩系统
图像压缩主要是为了除去图片中的编码冗余、像
素间冗余、心理视觉冗余三个冗余中的一个或多个来
达到压缩目的。图像压缩系统是由两个截然不同的结
构块组成:一个编码器和 个解码器 。图像f(X,y)
被送入编码器,该编码器根据输入数据建立一组符号,
并运用它们来描绘图像。为了观察和使用压缩的图
像,必须把该图像送入一个解码器中,以便生成一个重
构的输出图像r(X,Y)。一般而言,r(X,y)可能是也可
能不是f(X,Y)的精确表示。因此压缩算法基本可分为
无失真压缩算法和有失真压缩算法两类。图2展示了
一
个通用的图像压缩系统方框图。
F(x,y)
F (x,y)
图2 通用的图像压缩系统方框图
4 系统设计
结合上述相关知识,本文采用迭代的软件开发方
法,在Windows CE系统下用Embedded Visual C++
维普资讯
2007年第7期 计算机系统应用
6.0开发了EPicView软件。本软件的主要操作(功能)
有:
件工程的开发思想,我采用在外层封装一个交互操作
接口层,对用户提供统一、熟悉的操作界面,以便于用
户习惯和传统的PC系统相同的操作风格;我采用专门
的管理用户操作行为的类是为了方便用户对操作功能
的扩展和深化,达到可移植性和实用性。本文在类的
组织关系上让CEPicViewer保留一个CEImageCodec类
(1)用CEFileManager模块向用户枚举外部存储
介质上的图片文件,并以缩略图或列表模式向用户提
供预览,方便用户选择感兴趣的图片进行详细欣赏、操
作。在枚举图片文件的过程中,考虑到嵌入式设备内
存小、处理速度较慢的特点,我采用以文件系统的层次
的指针,以便于在需要调用的时候创建编解码器,而不
关系方式依次深层进行查找筛选,在有限的显示面积
上用上下翻页来提供预览;并在枚举文件的时候使用
多线程方式来处理,即在主窗口线程中创建一个新线
程来查找文件,这样方便用户在图片文件太多的情况
下,可以随意操作某~张已预览的图片进行放大欣赏,
缓解处理速度的给用户带来的压力。
(2)用CEPicViewer向用户提供对某张图片放大
到实际尺寸的查看模式,并支持简单操作功能:选择上
一
张图片、选择下一张图片、幻灯片浏览模式、逆时针
旋转、顺时针旋转、删除、切换到预览模式、退出程序。
4.1建立模型
图片要能精确的显示在显示设备环境中,对各种
压缩的图片无疑需要解码重构成没有压缩的位图格式
(BMP),而执行这个具体操作的是我运用Windows CE
下的Imaging API接口封装的CEImageCodec类。它接
受文件路径和解码器类型而执行具体的编码、解码操
作,并提供相关的接口供外围类调用。外围的CEPic.
Viewer和CEFilemanager是用MFC编写的对图片对像
的操作管理类。最上层是对所有交互行为的封装管理
类。系统模型见图3。
交互操作接口层
0
CEPicViewer CEF eManager
EEImageCodec
t
ImagingAPl
图3 EPicView的系统模型
4.2实现模型
为了实现程序的低耦合和模块独立性,以现代软
用通过CEFileManager类去访问编解码器的接口。用
CEFileManager去组合CEPicViewer类,是为了方便用
户在操作某张图片时,可以返回到缩略图模式去继续
寻找自己喜爱的图片。底层的编解码器用Imaging
API提供的COM接口limagingFadory创建limageDe—
coder解码器进行解码,再查询获取Ilmage接口,调用
limage::Draw()方法为用户呈现解码后的图片,调用
IbasicBitmapOps::Rotate()进行旋转操作,每次旋转接
受9O度为单位的顺时针、逆时针旋转操作。
4.3关键技术及类图结构
本程序的关键点在于充分利用Windows提供API
接口进行程序设计,利用COM规范达到高效性和可移
植性;用Windows CE的BMP Decoder、JPG Decoder、
GIF Decoder、PNG Decoder、ICO Decoder五个图像解码
器和BMP Encoder、JPG Encoder、GIF Encoder、PNG En—
coder四个编码器不但可以对图片文件进行读写解码
并显示,而且可以对不同图片文件进行格式转换,实际
就是一个编码过程。EPicview软件的关键类CEImage—
Codec结构如图4,各类问的关系如图5,用例图如图
6。
CEIm ̄eCodec
szType[24]:TCHAR
m plmage:Ilmage*
LpImagingFactory:IlmagingFactory*
 ̄Oecode(:consl TCHAR 1
nc0def:COr}¥fTcHAR.':constTCHAR )
 ̄Display(:CDC.I:CPdnt,:DISPLAY MODE,:Byte)
 ̄Rotate(angle:Byte)
 ̄tToRect(:float.:flaot1:cRecI
 ̄GeC
rea
tCo
teSt
de
r
c
e
CL
amf:
SID(:
consf
Ilma
TCHAR.
gingFac
I:I
tory
St
*.
r
.
e
.….
am“)
):B
:HRESUL
oolean
T
图4 CEImageCodec类图
4
.
4运行实例
维普资讯
计算机系统应用
,i一一
,
、
± 一一 ——— ———— ——
i呈E ! 坌 坌g旦L L E!mageCod金 !—
r—————————一~————一
图5 EPicView的类关系图
/一、
、
颁览罔”
~一
——~
、
打阡文件灾 、、
一
~一,
,
/
一
选扦 』
一
r— 一
、
一一 ~
l
、
__一一 一 0..一一
川J户\、、 .、 旋转
、
幺, J“{览
一 ~
、 ~
。
、
,
~ 一 一
切换缩略 览 删除 ”
图6 EPicView的用例图
下图是程序运行时的显示界面。由于考虑到嵌入
式设备的显示面积较小,为了充分显示大图片的实际
尺寸,界面的所有操作按钮都采用隐藏技术,用户需要
操作某幅图片时,单击屏幕任何位置即可显示按钮,按
钮显现后如果三秒内没有点击任何按钮,按钮会自动
隐藏。下图是按钮显示时的界面。
图7 EPicView运行界面
2007年第7期
左面从上至下第三个按钮是切换到幻灯片浏览
模式,第四个按钮是删除某幅图片;右面第三个按钮是
返回到缩略图预览模式,第四个按钮是退出程序。
5 结论
对图片压缩的理论和应用研究仍在不断地深入和
发展,利用各种方法进行图片压缩及图像处理正在不
断地涌现出来,本论文通过对彩色图片的编码、解码、
显示进行探讨及在车载多媒体视听系统中的应用情况
进行了总结。但是在图片的显示技术上仍然有很大的
研究空间,针对嵌入式系统的特点,可以选择对大容量
图片进行分块读取和重新组合显示的方法,这样可以
减少用户的等待时间。因为本文主要讨论运用Imag—
ingAPI进行解码、显示图片,所以对这个方面的研究将
作为以后的任务。
参考文献
1陈向群、王雷、马洪兵、向勇等编著,Windows CE.
NET系统分析及实验教程[M],机械工业出版社,
2003年1月.
2何宗键编著,Windows CE嵌入式系统[M],北京航
空航天大学出版社,2006年9月.
3[关]DON BOX著潘爱民译。COM本质论[M],北
京:中国电力出版社,2001年.
4[关]Rafael C、Gonzalez著,阮秋琦译。数字图像
处理[M],电子工业出版社,2006年9月.
5郭之辉,基于车载多媒体视音系统中图片压缩解压
缩算法的研究[D],合肥工业大学,2006年5月.
6朱世交、土仁武,WinCE系统中多种图像的显示及其
问题的解决[J],计算机时代,2004年第2期.
7李逸波等编著,多媒体数据库技术[M],机械工业
出版社,2004年7月.
版权声明:本文标题:基于Windows CE图片查看器的设计与实现 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1710471464a267373.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论