HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Gamma korrekció végrehajtása


Példaprogram letöltése

6251 bájt

Az ún. Gamma korrekció nélküli rajzoláskor bizonyos színek közötti átmenet esetén a kép egyre sötétebb árnyalatot kap, minél nagyobb mind a két színösszetevő mértéke. Például zöld és piros szín közötti színátmenet esetén ez nagyon jól látszik azon a ponton, ahol a zöld is és a piros is 50 – 50 %-ban van jelen.
A Gamma korrekció felhasználásával arra nyílik lehetőség, hogy elkerüljük ezt a sötét árnyalat megjelenését, és a színátmenet folyamatos legyen két tetszőleges szín között.

Színátmenet rajzolásához a LinearGradientBrush osztály által nyújtott ecsetet kell használnunk. Itt megadható két tetszőleges szín, mely között az átmenet megvalósul.
A Gamma korrekció alkalmazása igen egyszerű feladat.
GammaCorrection
Osztály: System.Drawing.Drawing2D.LinearGradientBrush
public bool GammaCorrection {get; set;}
A GammaCorrection property igazra állításával a színátmenet képzésekor Gamma korrekció kerül végrehajtásra, így a sötétebb árnyalatok elkerülhetők a színátmenetben.
A mellékelt példában kirajzolunk két téglalapot különböző színekkel, melyek között színátmenet történik. Az egyik téglalapnál kihasználjuk a Gamma korrekciót, míg a másiknál nem, így jól megfigyelhető a különbség.
  Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
    Dim g As Graphics = e.Graphics
    Dim r1 As New Rectangle(5, 5, ClientRectangle.Width - 10, 100)
    Dim brush1 As New LinearGradientBrush(r1, c1, c2, 135, True)
    brush1.SetBlendTriangularShape(0.5)
    g.FillRectangle(brush1, r1)
    ...
  End Sub 

Cikksorozat

#IDKategóriaCikk címeSorozat
4397Windows.NET Framework konfigurálása az operációs rendszerben1. rész
4446Windows.NET Framework konfigurációs snap-in2. rész


Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |