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

显示

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

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的手机,还需考虑界面旋转显示功能。

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xjbclz/article/details/51541573
想对作者说点什么? 我来说一句

46亿年物语(及模拟器).rar

2009年03月31日 1.98MB 下载

没有更多推荐了,返回首页

不良信息举报

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

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭