Directory Contents Search << >>


DaVinci 4: Leonardo: Funktion GammaCorrectionApplyToDIB

Die Funktion GammaCorrectionApplyToDIB verändert die Helligkeitswerte einer DIB zur Gamma-Korrektur:

void WINAPI GammaCorrectionApplyToDIB(

HDIB

hDIB,

int

iGamma10000,

int

iReserved1,

int

iReserved2,

LPBYTE

lpabGamma);

hDIB

HDIB

Handle der anzupassenden DIB,

iGamma1000

int

Gamma-Korrekturwert, (siehe Gamma-Korrektur), mit 10000 multipliziert,

iReserved1

int

reserviert für zukünftige Benutzung. Die Anwendung gibt 0 an,

iReserved2

int

reserviert für zukünftige Benutzung. Die Anwendung gibt 0 an,

lpabGamma

LPBYTE

Zeiger auf ein Array von 256 Byte-Werten die von der Funktion GammaCorrectionGetArray berechnet wurden oder NULL.

Anmerkungen

Die DIB wird dauerhaft verändert. Der Vorgang ist nicht umkehrbar. Die Anwendung kann eine Kopie einer bestehenden DIB leicht mit der Funktion CopyHandle erstellen.

Falls die DIB eine auf Farbpaletten basierende DIB ist (biBitCount <= 8) wird nur die Farbpalette modifiziert. Benutzt die DIB keine Farbpalette, (biBitCount >8) so wird jedes einzelne Byte der DIB modifiziert, was mehr Zeit beansprucht.

Beispiel: Gamma-Korrektur auf eine DIB anwenden.

HDIB GammaCorrect(float Gamma, HDIB hOriginalDIB)

{

HDIB hDIB = CopyHandle(hOriginalDIB);

BYTE Array[256];

if (hDIB)

{

GammaCorrectionGetArray(Gamma * 10000, 0, 0, Array);

GammaCorrectionApplyToDIB(hDIB, Gamma*10000, 0, 0, Array);

}

return hDIB;

} // GammaCorrect

-


Valid HTML 4.01!