关闭

手机开发实战46——手机显示介绍

110人阅读 评论(0) 收藏 举报
分类:

显示

为了手机中显示各种特效,大都采用了以下两种方法:

1在表示像素点的颜色时,除了RGB三色分量外,还增加了一个ALPHA分量表示透明度一个真彩色(指利用RGB分量合成颜色)的像素就变成由四个分量组成:RGBA。设RGBA均为从01的值,其中ALPHA=0为完全透明,ALPHA=1为完全覆盖,中间的数值代表半透明。这样的设定是为了能使本文独立于显示硬件。把诸如(RGBA)这样的东西称为四元组。一个这样的四元组代表一个由R*AG*AB*A组合而成的颜色。

下面是如何根据ALPHA通道数据进行混合的算法:

简单地,我们只需要把需要组合的颜色计算出不含ALPHA分量的原始RGB分量然后相加便可。比如现在有两幅图象,分别称为图象A和图象B,由这两幅图象组合而成的图象称为C,则我们有如下的四元组:
    A: (RaGaBaALPHAa)
    B: (Rb, Gb, Bb, ALPHAb)
  和组合后的RGB三元组:
    C: (Rc, Gc, Bc)
  则:
    Rc = Ra * ALPHAa + Rb * ALPHAb
    Gc = Ga * ALPHAa + Gb * ALPHAb
    Bc = Ba * ALPHAa + Bb * ALPHAb
  便可得出混合后的颜色。
  如果有多幅图像需要混合,则按照以上方法两幅两幅地进行混合。

2利用分层显示技术,将手机界面上显示的数据分成不同的图层来处理,这样每层的改动不会影响其它层,最后在将各层数据合成处理,得到最终显示效果。在程序中是将每层的数据存储在不同数组中,最后将所有的数据合成在一个数组中,最终的合成处理可以利用软件也可以利用硬件,硬件的处理速度更快。

注意事项:

1在手机中使用双或多字节表示一个字符的时候,对于字符的处理要特别注意,不要把表示一个字符的双或多字节分开,尤其是获取字符串长度、拷贝字符串和换行等处理时。

2大多数文字是从左边开始显示,但对于以色列文和阿拉伯文是从右开始显示。

3手机的处理速度和存储空间有限,通常是用2个字节,来表示一个像素点的数据。在程序中是利用数组存储数据,如LCD的像素是240*320,则定义的数组为:

U16 LCD[240*320];

通常选中某个菜单时,如果菜单字符串无法一行显示完整,则会滚动显示字符串。但对于全触控操作的手机,无法利用方向键选中菜单,可以考虑长按某个菜单时滚动菜单字符串。

5对于带G-Sensor的手机,还需考虑界面旋转显示功能。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:497985次
    • 积分:9178
    • 等级:
    • 排名:第2015名
    • 原创:316篇
    • 转载:756篇
    • 译文:0篇
    • 评论:17条
    最新评论