方法 : グラデーションに対してガンマ補正を適用する
更新 : 2007 年 11 月
線形グラデーション ブラシの GammaCorrection プロパティを true に設定することによって、そのブラシに対するガンマ補正を有効化できます。GammaCorrection プロパティを false に設定すると、ガンマ補正は無効化されます。既定では、ガンマ補正は無効になっています。
使用例
線形グラデーション ブラシを作成し、そのブラシを使用して 2 つの四角形を塗りつぶす例を示します。最初の四角形はガンマ補正を適用せずに塗りつぶされ、2 番目の四角形はガンマ補正を適用して塗りつぶされます。
2 つの塗りつぶされた四角形を次の図に示します。ガンマ補正が適用されていない上の四角形は、中央の部分が暗くなっています。ガンマ補正が適用されている下の四角形は、輝度がより均等化されているように見えます。
Dim linGrBrush As New LinearGradientBrush( _
New Point(0, 10), _
New Point(200, 10), _
Color.Red, _
Color.Blue)
e.Graphics.FillRectangle(linGrBrush, 0, 0, 200, 50)
linGrBrush.GammaCorrection = True
e.Graphics.FillRectangle(linGrBrush, 0, 60, 200, 50)
LinearGradientBrush linGrBrush = new LinearGradientBrush(
new Point(0, 10),
new Point(200, 10),
Color.Red,
Color.Blue);
e.Graphics.FillRectangle(linGrBrush, 0, 0, 200, 50);
linGrBrush.GammaCorrection = true;
e.Graphics.FillRectangle(linGrBrush, 0, 60, 200, 50);
コードのコンパイル方法
前述の例は Windows フォームと一緒に使用することが想定されていて、Paint イベント ハンドラのパラメータである PaintEventArgs e が必要です。