Herd Software Entwicklung
DaVinci Grafikbibliothek
DaVinci Dokumentation

Leonardo: Funktion GammaCorrectionApplyToDIBDie Funktion GammaCorrectionApplyToDIB verändert die Helligkeitswerte einer DIB zur Gamma-Korrektur:
void API 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.
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.
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