共用方式為


如何:將 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 事件處理常式的參數。

另請參閱