Directory Contents Search << >>


DaVinci 4: Leonardo: Funktion ConvertDIB

Die Leonardo-Funktion ConvertDIB konvertiert eine DIB mit 1,4,8,16,24,32 oder 48 Bit Farbtiefe in eine DIB mit einer von der Applikation gewünschten Farbtiefe. DIBs mit 32-Bit lassen sich besonders einfach und schnell verarbeiten.

BOOL WINAPI ConvertDIB(

HDIB FAR *

lphdib,

UINT

uNewBitCount,

DWORD

dwReserved);

lphdib

HDIB FAR *

Zeiger auf eine Variable vom Typ HDIB, die beim Aufruf das Handle der Quell-DIB und bei der Rückkehr das Handle der Ziel-DIB enthält.

uNewBitCount

UINT

Neue gewünschte Farbtiefe für die DIB (1,4,8,16,24,32 oder 48)

dwReserved

DWORD

Reserviert zur zukünftigen Benutzung. Anwendungsprogramme müssen hier 0 angeben.

Rückgabewert:

TRUE

Die Umwandlung war erfolgreich

FALSE

Die Umwandlung ist gescheitert. Wahrscheinlich stand nicht genügend Hauptspeicher zur Verfügung

Anmerkungen:

Der Wert des Handles wird bei der Rückkehr durch den Wert der Ergebnis-DIB ersetzt. Da die Transformation "in-place" durchgeführt wird, darf das original-Handle nach der Transformation nicht mehr verwendet werden. Es darf auch nicht durch Aufruf von "GlobalFree" gelöscht werden! Die Ergebnis-DIB wird in vielen Fällen denselben Handle-Wert aufweisen wie die Quell-DIB, aber nicht immer!

Anforderungen an die Quell-DIB:

Eingabeformate mit 1,4,8,16,24 oder 48 Bit Farbtiefe

Keine RLE-Kompression (biCompression=BI_RGB)

Windows-Bitmap, keine OS/2 Bitmaps (biSize == sizeof(BITMAPINFOHEADER) ) oder Bottom-Up DIB (biHeight>0)

Optimierungen

Für folgende Sonderfälle enthält die Pro-Version von DaVinci Optimierungen zur Erhöhung der Arbeitsgeschwindigkeit:

Die Konvertierung in DIBs mit 32 Bit Farbtiefe erfolgt in-place, d.h. es wird kein zusätzlicher Speicherplatz für den Kopiervorgang benötigt. Der Programmcode ist auf Ausführungsgeschwindigkeit optimiert.

-


Valid HTML 4.01!