Nasıl yapılır: Bir Gradyana Gama Düzeltmesi Uygulama

Fırçanın özelliğini olarak ayarerek doğrusal gradyan fırça için düzeltmeyi GammaCorrectiontrue etkinleştirebilirsiniz. özelliğini olarak ayarerek düzeltmeyi devre GammaCorrection dışı false abilirsiniz. Zaman düzeltmesi varsayılan olarak devre dışıdır.

Örnek

Aşağıdaki örnek, bir denetimin olay işleyicisi tarafından çağrılan Paint bir yöntemdir. Örnek, doğrusal bir gradyan fırça oluşturur ve iki dikdörtgeni doldurmak için bu fırçayı kullanır. İlk dikdörtgen, düzeltme olmadan, ikinci dikdörtgen ise düzeltme ile doldurulur.

Aşağıdaki çizimde iki doldurulmuş dikdörtgen gösterilmiştir. Düzeltmesi yapılmamış üst dikdörtgen, ortadaki koyu renkle görünür. Düzeltmesi olan alt dikdörtgenin tekdüz yoğunlukta olduğu görülüyor.

Two gradient-filled rectangles, with and without gamma correction.

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)

Kod Derleniyor

Yukarıdaki örnek, Windows Forms ile kullanım için tasarlanmıştır ve olay PaintEventArgse işleyicinin bir parametresi Paint olan 'i gerektirir.

Ayrıca bkz.