一般に、「通常の」ブレンド モードの方程式は次のようになります。
D = Sa * S + D * (1.0 - Sa)
ここで、D はデスティネーション カラー、Sa はソース アルファ、S はソース カラーです。
現在、これは完全に不透明な宛先で問題なく機能しますが、半透明および完全に透明な宛先でそれをどのように処理するかを知りたいです。
ソースを完全に透明なデスティネーションにブレンドする場合、ソース ピクセル (ピクセルは色とアルファ) は変更されず、前の式のようにブレンドされません。また、デスティネーションの背景が完全に不透明な場合は、上記の式を適用する必要がありますが、宛先アルファが 0 と 1 の間にある状況を処理する適切な方法が見つかりません。
たとえば、白いピクセルを透明な背景に 50% のアルファでブレンドする場合、色はその透明な色の値 (多かれ少なかれ未定義の状態) にならないようにする必要があります。 50% (アルファ乗算後)、これは上記の式を適用した後に得られるものです (D を S と同じ色にする場合、これは私が考えたものです)。