Alpha通道原理及實現方法


ALPHA是什么?在圖形學中,ALPHA指的是除了顏色的三個分量(RGB)外的第四個分量:透明度。所以,一個真彩色(指利用RGB分量合成顏色)的像素就變成由四個分量組成:R、G、B、A。在我們的討論里,設R、G、B、A均為從0到1的值,其中ALPHA=0為完全透明,ALPHA=1為完全覆蓋,中間的數值代表半透明。這樣的設定是為了能使本文獨立於顯示硬件。我們把諸如(R,G,B,A)這樣的東西稱為四元組。一個這樣的四元組代表一個由R*A、G*A、B*A組合而成的顏色。

    有一點重要的是,要清楚分辨如下兩個關鍵像素的意義:

黑色=(0,0,0,1)

完全透明=(0,0,0,0)

下面是如何根據ALPHA通道數據進行混合的算法:

簡單地,我們只需要把需要組合的顏色計算出不含ALPHA分量的原始RGB分量然后相加便可。比如現在有兩幅圖象,分別稱為圖象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

便可得出混合后的顏色。

如果有多幅圖像需要混合,則按照以上方法兩幅兩幅地進行混合。

附:計算機顯示原理(光柵圖象):

光柵圖象很常用,如CRT,LCD,打印機等等。他常見問題是由於光柵尋址而產生的走樣(也叫鋸齒)。在這里不討論。

以CRT為例,圖象顯示前先進預處理部分(BIT PLANE),有一個“BIT PLANE”顯示器只顯示純黑白圖。有8個“BIT PLANE”顯示器顯示2的8次方即256級灰讀圖。當然該圖象數據顯示前還要經過寄存器,寄存器把8個“BIT PLANE”中相應數據合為一個8位2進制數。即可實現256級灰度圖。還有一種叫調色版的顯示技術,他用一數據庫,其中圖象位數高於8位,即可顯示更多級灰度灰度圖。調色版中數據庫是通過寄存器中8位2進制數索引的,即他每次只能使用256個連續的數據庫中的圖象數據。這樣計算不便。

彩色顯示器分RGB三色顯示,每色有8個“BIT PLANE”,即可還原真彩。

計算機中只有0,1倆數。0乘任何數是0,1乘任何數是1。現在大家應明白為什么8位灰度圖能實現完全透明(00000000),完全覆蓋(11111111),中間的數值代表半透明。

premultiple為有的軟件(如3D軟件)輸出的圖象已經把RGB和A做乘了。PRE-英文為先的意思。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM