kowala's home

kowala's home
這裡是我的學習筆記,陸續增加中。
http://kowala21.blogspot.com

2011-06-20

關於色碼表 - Alpha 通道

大家都知道的,RGB的組成是由 Red、Green、Blue 三原色組合而成,每個原色用兩個十六進位值表示,因此有16777216色的組合變化[1]。

(0, 0, 0) 是黑色
(255, 255, 255) 是白色
(255, 0, 0) 是紅色
(0, 255, 0) 是綠色
(0, 0, 255) 是藍色
(255, 255, 0) 是黃色
(0, 255, 255) 是青色
(255, 0, 255) 是粉紅

原色光混合的表現[2]


在網頁應用上,以黃色為例,十六進位表示則寫成 #FFFF00,數字排列方式為 #RRGGBB,同理,紅色是#FF0000,綠色是#00FF00,藍色是#0000FF。

有時我們常常會看見透明圖,也就是主題清楚,但背景透明的圖片,這在電腦桌面的小圖示是很常見的(各位可以用滑鼠拉著小圖示重疊到別的圖示上觀察看看),這透明又該如何在RGB系統上表示呢?
所以有一種可以表示透明度的方法,叫做RGBA,有時它也被寫成ARGB,A 稱為不透明度叫做 Alpha 通道,值在0%和100%之間,alpha通道值可以用百分比、整數或者像RGB參數那樣用0到1的實數表示。
比如,0x80FFFF00是50%透明的黃色,因為所有的參數都在0到255的範圍內表示。0x80是128,大約是255的一半。[3]

RGBA範例


Android 上的做法
其實很簡單,我們可以自己做一個色碼表,然後就如正常引用資源般的使用,並無不同。

 ck1 = (CheckBox)findViewById(R.id.checkBox1);
 ck2 = (CheckBox)findViewById(R.id.checkBox2);
...
 ck1.setTextColor(0xFFFF0000); //加上 Alpha 通道
 ck2.setTextColor(Color.GREEN);//一般用法




官網上的說明



參考
[1]. 0-255 = 256 種,又 256*256*256 = 16777216。
[2]. http://zh.wikipedia.org/wiki/RGB
[3]. http://zh.wikipedia.org/wiki/RGBA

沒有留言:

張貼留言

請提供您的寶貴意見 ;-)