預乘 Alpha 有許多好處,其中一些在 Tom Forsyth 的這篇部落格 文章 中有所討論。

有不少免費軟體可以處理貼圖的 Alpha,包括 GIMP 和 Paint.NET。在 Paint.NET 的網頁上點擊時要小心,那裡簡直是廣告地雷區。

前面提到的方程式假設目標(也就是你要拿來混色的原始顏色)的 Alpha 為 1,也就是完全不透明。

進階小課程:如果目標也是半透明的,你會使用同一類的混色方程式,只是目標也要乘上它自己的 Alpha:

color = colorSP + (1 - alphaS) * colorDP

這裡所有的顏色都已預乘 Alpha,包括結果在內。也就是說,「colorSP」 代表 「已預乘 Alpha 的來源顏色」。

結果的 Alpha 也必須計算,因為它不一定是 1(如果目的地的 Alpha 本來就是 1,結果才會自然是 1):

alpha = alphaS + (1 - alphaS) * alphaD

「alphaS」 代表 「來源 alpha」,其餘依此類推。請注意它和顏色方程式之間的對稱性。這個小小的延伸我在任何一本書裡都找不到(連我們自己的書也沒有),所以想在這裡補充。

譯註:不使用預乘 Alpha 也會在特定情況造成混色錯誤,請參考 Inigo Quilez 的 文章。