2011-06-17 136 views
2

如果我想顯示一個均勻半透明圖像,然後「淡出」這一形象,與另一個相同的透明度逐漸取代它,而在過渡期間保持在恆定的水平合併的透明度,如何確定什麼透明度來繪製圖像?什麼是對兩個組合透明度公式疊加透明圖片?

通過試驗和錯誤 - 在彼此的頂部上繪製各種α的透明圖像 - 我已經想出下面的圖表中,示出了在另一個上的一個軸圖像A的透明度和圖像B的透明度。的「異α」線顯示,導致相同的阿爾法沿線一路阿爾法的組合。每行代表不同的alpha級別,左上角完全透明。

你可以看到,我正在尋找的配方是不alphaA + alphaB == alphaTarget直線性過渡。

什麼是數學公式我在找?

Alpha cross-fade graph

X軸 - 圖像B的α(0-255 L-R)。 Y軸 - 圖像A的α(0-255向下)。

回答

6

透明膠片乘以

transparency_new = transparency_a * transparency_b 

然而,由於不透明度(阿爾法)是透明性的逆:

1 - opacity_new = (1 - opacity_a) * (1 - opacity_b) 

或:

opacity_new = 1 - (1 - opacity_a) * (1 - opacity_b) 

規模適當如果使用Alpha 0乳寧 - 255,而不是0到1.0

alpha_new = 255 * (1 - (1 - alpha_a/255) * (1 - alpha_b/255)) 

我r使用上面的公式和Grapher.app使您的圖形變得複雜:

enter image description here