グラデーション(グレー)
WPF や Silverlight のリッチな表示の要素のにグラデーションがあります。グラデーションの実現方法を確認しておきたいと思います。ここでは、グレースケールでのグラデーションを考えます。白、黒、グレーは、色とは異なり、明暗として認識され、影による立体的なイメージを作るのに使われます。
1.諧調について
RGBの値の説明には、ガンマ補正、各原色による認識の差異などの記述があります。
「色について」「色」「10.グレースケール」の例でも、グレースケールにするためにR,G,Bのそれぞれに異なる係数を掛けています。
パソコンの中にあるRGBデータにそうした考慮が本当に必要かどうかが良く分かりません。
RGBの数値の大小が、認識される諧調と直線的な関係にあると都合が良いわけですが。

そこで、WPF の LinearGradientBrush の処理を見てみます。
上の図の下段は、プログラムでビットマップに0から255をセットしたものです。(R,G,Bに同じ値をセットします。)
LinearGradientBrush の塗り方と一致しました。
このことから、以下のように言えそうです。
- R=G=B 以外は使われていない
(グレーに見える組は他にもありえますが、R,G,Bが同じ値だけが使われている)
- RGBの数値の大小が、認識される諧調と直線的な関係にあると考えている
|