Hilfe
Parameter
index_r | Rot-Index (0-255) |
index_g | Grün-Index (0-255) |
index_b | Blau-Index (0-255) |
gamma_r# | Rot-Gammawert (0-255) |
gamma_g# | Grün-Gammawert (0-255) |
gamma_b# | Blau-Gammawert (0-255) |
Rückgabewert
-
Beschreibung
Die Anweisung SetGamma setzt neue Gamma-Werte. Es gibt bekanntlich 256 RGB-Farbabstufungen (0-255). Einige Farbanteile können künstlich aufgehellt oder abgedunkelt werden. Dadurch lassen sich verschiedene Effekte realisieren.
index_r, index_g und index_b sind die 256 Farbabstufungen (0-255).
gamma_r, gamma_g und gamma_b sind die Gammawerte.
Normalerweise entspricht ein Gammawert etwa dem Indexwert.
Dem index_r wird neuer Gammawert gamma_r zugewiesen.
Dem index_g wird neuer Gammawert gamma_g zugewiesen.
Dem index_b wird neuer Gammawert gamma_b zugewiesen.
Diese drei Zuweisungen wurden in nur einem Befehl realisiert. Rot-, Grün- und Blau-Zuweisungen werden unabhängig verarbeitet.
Zusatzinformation
Beispiel
Dieses Bild kann mit Pfeiltasten (rechts und links) aufgehellt oder abgedunkelt werden. Mit STRG wird nur rote Farbe dargestellt:
SetBuffer BackBuffer()
n = 0
While Not KeyHit(1)
If KeyDown(203) = 1 Then n=n-1
If KeyDown(205) = 1 Then n=n+1
If KeyDown(29) = 1 Then SetGammaRed(n)
If KeyDown(29) = 0 Then SetGammaIntensity(n)
Cls
SeedRnd 1234
For k = 1 To 1000
Color Rand(255), Rand(255), Rand(255)
Rect Rand(640), Rand(480), Rand(64), Rand(64)
Next
Color 255, 255, 255
Text 0, 0, "Intensity offset="+n
Flip
Wend
End
Function SetGammaRed(n)
For k = 0 TO 255
SetGamma k, k, k, k+n, 0, 0
Next
UpdateGamma
End Function
Function SetGammaIntensity(n)
For k = 0 TO 255
SetGamma k, k, k, k+n, k+n, k+n
Next
UpdateGamma
End Function
Siehe auch

