顯示
為了手機中顯示各種特效百侧,大都采用了以下兩種方法:
1在表示像素點的顏色時,除了RGB三色分量外,還增加了一個ALPHA分量表示透明度媒至。一個真彩色(指利用RGB分量合成顏色)的像素就變成由四個分量組成:R粱哼、G季二、B、A揭措。設(shè)R胯舷、G、B绊含、A均為從0到1的值桑嘶,其中ALPHA=0為完全透明,ALPHA=1為完全覆蓋躬充,中間的數(shù)值代表半透明逃顶。這樣的設(shè)定是為了能使本文獨立于顯示硬件讨便。把諸如(R,G以政,B霸褒,A)這樣的東西稱為四元組。一個這樣的四元組代表一個由R*A盈蛮、G*A傲霸、B*A組合而成的顏色。
下面是如何根據(jù)ALPHA通道數(shù)據(jù)進行混合的算法:
簡單地眉反,我們只需要把需要組合的顏色計算出不含ALPHA分量的原始RGB分量然后相加便可昙啄。比如現(xiàn)在有兩幅圖象,分別稱為圖象A和圖象B寸五,由這兩幅圖象組合而成的圖象稱為C梳凛,則我們有如下的四元組:
A: (Ra,Ga梳杏,Ba韧拒,ALPHAa)
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利用分層顯示技術(shù),將手機界面上顯示的數(shù)據(jù)分成不同的圖層來處理劲适,這樣每層的改動不會影響其它層楷掉,最后在將各層數(shù)據(jù)合成處理,得到最終顯示效果霞势。在程序中是將每層的數(shù)據(jù)存儲在不同數(shù)組中烹植,最后將所有的數(shù)據(jù)合成在一個數(shù)組中,最終的合成處理可以利用軟件也可以利用硬件愕贡,硬件的處理速度更快草雕。
注意事項:
1在手機中使用雙或多字節(jié)表示一個字符的時候,對于字符的處理要特別注意固以,不要把表示一個字符的雙或多字節(jié)分開墩虹,尤其是獲取字符串長度、拷貝字符串和換行等處理時憨琳。
2大多數(shù)文字是從左邊開始顯示诫钓,但對于以色列文和阿拉伯文是從右開始顯示。
3手機的處理速度和存儲空間有限栽渴,通常是用2個字節(jié)尖坤,來表示一個像素點的數(shù)據(jù)。在程序中是利用數(shù)組存儲數(shù)據(jù)闲擦,如LCD的像素是240*320慢味,則定義的數(shù)組為:
U16 LCD[240*320];
4通常選中某個菜單時,如果菜單字符串無法一行顯示完整墅冷,則會滾動顯示字符串纯路。但對于全觸控操作的手機,無法利用方向鍵選中菜單寞忿,可以考慮長按某個菜單時滾動菜單字符串驰唬。
5對于帶G-Sensor的手機,還需考慮界面旋轉(zhuǎn)顯示功能腔彰。
頂
0