方法: グラデーションに対してガンマ補正を適用する
ブラシの GammaCorrection プロパティを true
に設定することで、線状グラデーション ブラシのガンマ補正を有効にできます。 GammaCorrection プロパティを false
に設定することで、ガンマ補正を無効にできます。 ガンマ補正は、既定では無効になっています。
例
次の例は、コントロールの Paint イベント ハンドラーから呼び出されるメソッドです。 この例では、線状グラデーション ブラシを作成し、そのブラシを使用して 2 つの四角形を塗りつぶします。 最初の四角形はガンマ補正なしで塗りつぶされ、2 番目の四角形はガンマ補正付きで塗りつぶされます。
次の図は、2 つの塗りつぶされた四角形を示しています。 ガンマ補正が適用されていない上の四角形は、途中が暗く表示されます。 ガンマ補正が適用されている下の四角形は、より均一な明度で表示されます。
public void FillTwoRectangles(PaintEventArgs e)
{
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);
}
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)
コードのコンパイル
前の例は、Windows フォームで使用するために設計されていて、PaintEventArgs イベント ハンドラーのパラメーターである e
Paint を必要とします。
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET Desktop feedback