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

原创 2016年05月30日 22:07:14

显示

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

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

《大富翁手机游戏开发实战--基于Cocos2d-x 3.2引擎》现已登陆各大网络销售平台发售

《大富翁手机游戏开发实战--基于Cocos2d-x 3.2引擎》现已登陆各大网络销售平台发售! 部分网售地址: 当当:http://product.dangdang.com/23781...
  • lideguo1979
  • lideguo1979
  • 2015年10月16日 21:56
  • 1216

零基础Android手机嵌入式开发实战教程 Android嵌入式开发

《零基础Android手机嵌入式开发实战课程(网吧计费系统、多功能播放器、驱动开发)》 课程讲师:老夫子  适合人群:初级 课时数量:174课时 用到技术:Bootloader开发、裸板开发 ...
  • u014572748
  • u014572748
  • 2014年04月06日 18:00
  • 757

手机开发实战3——手机类型介绍

根据支持的通信协议分类: 手机通常有2G、2.5G、2.75G、3G和4G(G-Generation代)等的区分。 只支持GSM协议的手机称为2G手机,支持IS-95CDMA协议的手机也属...
  • xjbclz
  • xjbclz
  • 2016年05月10日 22:42
  • 642

Android小项目实战:手机安全卫士

MobileSafer (手机安全小卫士)项目说明 MobileSafer仅用作学习交流; MobileSafer(安全小卫士)项目取材自《Android项目实战-手机安全卫士》一书; 在书本知识基础...
  • qwm8777411
  • qwm8777411
  • 2015年10月15日 22:55
  • 4010

学习笔记之《Android项目实战——手机安全卫士》

【Android项目实战-手机安全卫士】 目标:快速积累开发经验,具备中级Android工程师能力。 如遇到难以理解的逻辑或功能,可以先将程序打断点观察程序的执行逻辑。 第一章项目简介:...
  • Liliqianbaidu
  • Liliqianbaidu
  • 2017年04月10日 22:20
  • 976

asm.jar 安卓手机屏幕在电脑上显示

在安卓开发中,使用手机来展示自己的作品要比模拟器效果更好,但是有时候人比较多,手机太小不方便展示,我们可以通过asm.jar这个文件来将手机屏幕显示在电脑上。 asm.jar下载地址:http://...
  • qq_31010431
  • qq_31010431
  • 2016年05月12日 16:48
  • 1424

手机端中有的图片可以显示有的不显示的问题

在pc端的嵌入的html文档在线浏览时可以显示全部的图片,但是在移动端时有的图片可以显示,有的图片显示 不了,查看源代码发现有的img标签有data-original属性和src属性,有的只有dat...
  • lijunlinlijunlin
  • lijunlinlijunlin
  • 2016年09月13日 00:46
  • 1850

手机开发实战43——手机字符编码介绍1

字符编码介绍 预备知识 1字符: 字符是抽象的最小文本单位。它没有固定的形状(可能是一个字形),而且没有值。“A”是一个字符,“€”(德国、法国和许多其他欧洲国家通用货币的标志)也是...
  • xjbclz
  • xjbclz
  • 2016年05月30日 22:04
  • 364

手机开发实战48——手机输入法介绍1

输入法 简介 目前应用在手机平台的信息输入方式大致有两种:手写输入和键盘输入。手写技术固然贴合传统信息输入方式,目前手写输入法的识别率还不高。手机键盘一般可分为普通键盘和QWERTY全尺寸...
  • xjbclz
  • xjbclz
  • 2016年05月30日 22:08
  • 370

手机开发实战44——手机字符编码介绍2

编码 UTF-8: 采用变长字节 (1 ASCII, 2 希腊字母, 3 汉字, 4 平面符号) 表示。在网络传输时, 即使错了一个字节,不影响其他字节,而双字节只要一个错了,其他也错了,...
  • xjbclz
  • xjbclz
  • 2016年05月30日 22:05
  • 230
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:手机开发实战46——手机显示介绍
举报原因:
原因补充:

(最多只允许输入30个字)