如何:將 Gamma 修正套用至漸層
您可以將筆刷的 GammaCorrection 屬性設定為 true
,以啟用線性漸層筆刷的伽瑪修正。 您可以將 GammaCorrection 屬性設定為 false
以停用伽瑪修正。 預設會停用伽瑪修正。
範例
下列範例是從控制項的 Paint 事件處理常式呼叫的方法。 此範例會建立線性漸層筆刷,並使用該筆刷填滿兩個矩形。 第一個矩形填滿時沒有伽瑪修正,而第二個矩形填滿時則具有伽瑪修正。
下圖顯示兩個填滿的矩形。 頂端矩形沒有伽瑪修正,在中間顯示為深色。 具有伽瑪修正的底部矩形,強度似乎更均勻。
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 Forms 使用而設計,且其需要 PaintEventArgse
,這是 Paint 事件處理常式的參數。