Porady: stosowanie korekcji gamma do gradientu
Możesz włączyć korektę gamma dla pędzla gradientu liniowego, ustawiając właściwość pędzla GammaCorrection na true
. Można wyłączyć korektę GammaCorrection gamma, ustawiając właściwość na false
. Korekta gamma jest domyślnie wyłączona.
Przykład
Poniższy przykład to metoda wywoływana z programu obsługi zdarzeń kontrolki Paint . W przykładzie utworzono szczotkę gradientu liniowego i użyto tego pędzla do wypełnienia dwóch prostokątów. Pierwszy prostokąt jest wypełniony bez korekty gamma, a drugi prostokąt jest wypełniony korektą gamma.
Na poniższej ilustracji przedstawiono dwa wypełnione prostokąty. Górny prostokąt, który nie ma korekty gamma, jest ciemny w środku. Prostokąt dolny, który ma korektę gamma, wydaje się mieć bardziej jednolitą intensywność.
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)
Kompilowanie kodu
Powyższy przykład jest przeznaczony do użycia z formularzami Windows Forms i wymaga PaintEventArgse
parametru , który jest parametrem Paint programu obsługi zdarzeń.
Zobacz też
.NET Desktop feedback
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla