9

それらを変換する式を探しています。

私はそれが一般的な透明性を変換することを知っています

alpha * new +(1-alpha)* old

私は持っています:

Color A : RGB( 85, 113, 135 )
Color B : RGB( 43, 169, 225 )

カラーAの不透明度は90%で、カラーBの上に配置されるため、次のようになります。

Color C : RGB( 65, 119, 145 )

私の質問は、どのようにしてカラーCを取得するのですか?別のものをカラーBに置き換えた場合、カラーCを取得するにはどうすればよいですか?

同じベースカラーの別の例を次に示します。

Color A : RGB( 85, 113, 135 )
Color B : RGB( 45, 67, 82 )
--------
Color C : RGB( 65, 109, 131 )

これらは画像で行われた実例です。背景色を割り当てることができるように、残りのカラーCを計算しようとしています。


更新、受け入れられた答えを見てください。上記redの例では奇妙です-受け入れられた答えはすべての色に対して正しい式を持っています、私はそれをPhotoshopでテストしました。

4

1 に答える 1

7

数式は、例で使用されている数式であり、コンポーネントごとに計算され、切り上げられているようです。

R_c:=天井(R_a *アルファ)+天井(R_b *(1-アルファ))

G_c := ceiling(G_a * alpha) + ceiling (G_b * (1 - alpha))
B_c := ceiling(B_a * alpha) + ceiling (B_b * (1 - alpha))

奇妙なことに、Rコンポーネントはルールに従っていないようです。なぜだろうと思う傾向があります。

于 2010-08-17T19:29:13.200 に答える