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)  | 
| 
 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.  |