首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[转帖]高级嵌入式GUI技术分析

[转帖]高级嵌入式GUI技术分析

随着 32bit RISC CPU(尤其是ARM系列,MIPS系列)的性价比越来越高, 在嵌入时领域越来越多的产品采用32bits RISC CPU,并且在逐渐蚕食传统的嵌入式CPU(如51系列,x86系列). 主频的提高,价格的降低,周边IC价格的同步降低,同样设计成本可以得到更多的应用功能和特性.
    在眼球经济时代,民用消费也越来越注重对消费者的感管刺激!高精度的LCD和高档消费类产品对嵌入式GUI提出了越来越多的要求.可裁剪可重叠的多窗口GUI技术已经是对GUI技术的基本要求和配置.而在过去看来很高档的GUI图形处理技术在逐渐加入/整合到嵌入时GUI里,比如 Alpha 混合技术,TrueType 字体, 透明效果, 渐变效果, 分层窗口技术,甚至于3D技术等等.而这些技术往往在PC上是可以体验到的,其对消费者的购买刺激是不言而语的.
    以下抛砖引玉,就以上部分技术做一个介绍:

1.Alpha混合技术:
 是对两种位图的每个点颜色值按比例进行混合,其结果位图是你中有我,我中有你,其常见的效果是在背景图上的淡入淡出,参见图一:

 

 

 

 

 

 

 

 

 

 

 

 

2.透明效果:
    透明技术在GUI方面既可以指一种图形处理技术,有可以指一种窗口处理技术(透明窗口)。如果为图形处理技术,则可以表现为将位图的其中一种颜色设为透明色(假设为xRGB),当拷贝源位图的每个点到目标上时,如个发现源位图的颜色值为xRGB时,则不对目标做任何操作。
    如果透明技术是指窗口处理技术,则可以表现在两个方面:一是指通过窗口的矩形域将窗口部分挖空;另一种是指对鼠标等点输入设备的透明处理;参见图二:

 

 

 

 

 

 

 

 

 

 

 

 

 

3.渐变效果:
 主要指一种颜色渐变填充,通常的矩形填充都是固定的颜色值的填充;渐变填充实现了从开始点到终点的填充过程中,其颜色值实现了两钟颜色值的平滑过渡;当然,也有多种颜色的平滑过渡算法,只不过实现起来就更复杂,效率更低一些。参见图三:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.分层窗口技术:
    基本来说,该技术主要是一种窗口处理技术,但在实现过程中,会依赖于一些高级图形技术
的支持,比如透明效果,Alpha混合技术等;该技术最重要的作用是极大的简化了应用程序的设计,将应用程序从复杂的图形操作中解放出来;因为分层窗口技术使应用程序只需要关心自己的窗口的绘制。Alpha值和透明颜色值成为窗口的属性值。系统会根据窗口设定的Alpha和透明颜色值自动处理相关的特性.

目前的嵌入式GUI的几个版本(例如,Qt,MicroWindow,MiniGUI),对上述高级图形窗口处理技术的支持力度不够,在其官方网站上没有看到在API级上的描述,或仅仅支持了其中的一小部分。而前一段时间,在国内一个做嵌入式操作系统(叫 Kingmos)的公司的网站上( http://www.mlg.com.cn ),看见其中介绍的嵌入式GUI系统,叫 KingmosGUI,从其中的GUI介绍和可下载的演示程序来看,应该实现了上述高级图形功能,看来应该做得很不错了!有兴趣的朋友可以去看看!

 

我的博客:http://blog.eccn.com/u/qianmin/index.htm
静静等待春天的到来! 
返回列表