发布日期:2022-04-17 点击率:72
引 言
对于各种各样应用日益广泛的嵌入式系统而言,除了应用功能强大外,人机界面的美观也是吸引用户的重要方面。因此,越来越多的嵌入式系统开发人员希望:LCD上除了显示图案固定的菜单以外,再添加适量的动画,使得整个界面屏幕更加活泼可人。用于动画设计的程序设计语言有多种,并且有多种方法,根据是否需要借助于其他应用软件和程序,可以将这些方法分成两大类:第一类是只使用各种编程语言及开发环境中包含的文件和框架实现的设计方法;第二类则是安装相关软件(诸如Flash、Di-rectDraw等),在相关语言的开发环境中将这些软件的功能文件包含进去,来共同实现动画设计的方法。而嵌入式系统由于其极强的专用性、实时性要求,传统采用的开发语言并不是很多,虽然动画界面在嵌入式系统应用中并非高优先级的程序,但开发人员在选取其设计方法时,也应该辨明利弊,灵活使用,这样才能看到更加赏心悦目的界面,而不是被LCD上凌乱不堪的显示内容所困扰。
1 不需安装第三方软件的动画设计方法分析
(1)Logo适用于简易的嵌入式设备的动画设计
Logo语言的设计方法最为简单。它内置一套(Turtle Graphics)系统,其本身就是一种绘画语言,理论上可以加载到嵌入式系统中作动画开发;然而,因为一个嵌入式系统会有很多别的软件设计部分,其他功能都采用Logo显然并不合适,而要在一个嵌入式系统中安装两种开发环境更加不现实。所以,若在嵌入式系统开发中选用这种方法制作动画,应该只适合用于儿童用的复杂程度同等的简易的嵌入式设备。
(2)最适合嵌入式系统使用的擦除法
C语言是嵌入式系统开发使用最多的语言,并且高中低档的系统都可以用,因而采用C语言的所有动画设计方法,理论上均适用于嵌入式系统的屏幕动画开发。然而,诸如利用动态开辟图视口方法、利用显示页和编辑页交替变化、利用画面存储再重放的方法,以及直接对图像动态存储器进行操作的方法等程序比较复杂,且要对图像不断进行存取操作,这需要耗费大量内存资源;而擦除法动画设计则可以解决上述问题。其设计原理是:利用同色原理,当图形色与背景色相同时人眼不能感知。在动画设计中,当在一个位置画了一张图像时,使图像色与背景色相异,然后再到另一个位置画一张图像并使图像色与背景色也相异,此时将先画的图像在原位置再画一张,并使图像色与背景色相同,这样人眼只能看到新画的一张图像而看不到先前画的图像,从而先前画的图像感觉被擦除了。
这样连续画多张图像并在每画一张新的图像时将原来的图像擦除,从而在观察者看来就实现了动画的效果。综上所述,从耗费资源较少且执行速度较快的角度出发,笔者认为,采用C语言设计动画的常用方法中,最适合嵌入式系统使用的是首选擦除法。
(3)CBuilder语言本身不太适合嵌入式开发
采用CBuilder语言设计动画,可以方便地利用现成的组件产生图像及控制时间,从而解决了动画设计中两个非常重要的问题。然而CBuilder语言本身不太适合嵌入式开发,因为嵌入式开发对空间、效率都要求较高,而CB是针对高层的应用程序开发的工具。但是,有两点值得注意:首先,现在很多公司做嵌入式开发多是自己搞一套系统,使其适合使用CB完全可以做到;另外,Borland公司正在开发嵌入式的C++,可以期待。
(4)Java语言非常适合嵌入式系统的屏幕动画设计Java语言是嵌入式系统开发经常采用的语言,在手机中更是应用良多。Java语言的动画设计方法通过定义线程的方法来控制动画时间;而使图像动的平滑的双缓冲方法需要很大内存,因而更常用的消除画面闪烁的办法是重载upGlate()。
下一篇: PLC、DCS、FCS三大控
上一篇: 索尔维全系列Solef?PV