Damit Ihr Anwendungsprogramm mit den importierten Grafikdaten arbeiten kann, benötigen Sie ein standardisiertes Datenformat zur Benutzung der importierten Daten im Anwendungsprogramm.
DaVinci benutzt zur Darstellung von Grafiken im Hauptspeicher soweit möglich die von Microsoft für Windows spezifizierten Datenformate. Dadurch können Sie Grafikdaten leicht an Windows API-Funktionen weiterleiten.
Microsoft hat für Windows mehrere Grafikformate zur Verwendung mit dem Windows API dokumentiert. DaVinci benutzt die Darstellung der Bilder als DIB (Device Independend Bitmap). Dies ist ein durch Microsoft Windows ab Version 3.0 gesetzter Standard, der sich auf die Darstellung von Bildern sowohl als Datei auf der Festplatte, als auch in der Zwischenablage und in Programmressourcen bezieht. DIB dokumentiert ein Datenformat, d.h. die Byte für Byte eindeutige Verwendung eines Datenbereichs zum Speichern der Grafik, im Gegensatz zu einem API (Application Programming Interface) das die Software-Schnittstellen dokumentiert.
Zur programminternen Verarbeitung wird beim DIB-Format die gesamte Bildinformation incl. Farbinformation in einen großen Speicherblock kopiert, dessen Speicherhandle nun die DIB enthält. Das genaue Dateiformat können Sie unter dem Stichwort BITMAPINFOHEADER in der Dokumentation zum Windows API ersehen. DaVinci benutzt als Bezeichnung für diese Darstellung den Namen HDIB.
Darüber hinaus kennt Windows aber noch ein alternatives vektororientiertes Bildformat: Die Metafiles. Metafiles stellen ein Bild als gespeicherte Zeichenbefehle des Windows GDI wie "Ziehe Linie" oder "Rechteck" dar. Beide Formate lassen sich mit DaVinci ineinander umrechnen, aber dabei entstehen meist Verluste bei der Grafikqualität. Daher haben wir DaVinci die Möglichkeit gegeben, Bilddaten im jeweils passenden Format zu verarbeiten, so dass Bitmap-orientierte Datenbestände als HDIB verarbeitet werden, Metafile-orientierte Bilder dagegen als HMETAFILE.
Damit dies die Programmierung nicht unnötig erschwert, kann DaVinci die Bilder automatisch in das für Ihre Anwendung einfachste Format konvertieren.
Die 32-Bit und 64-Bit Windows Betriebssysteme erlauben zusätzlich zu den MetaFiles die sog. Enhanced MetaFiles, die die Erweiterungen des 32-Bit GDI berücksichtigen (Bezier-Kurven, 32-Bit Koordinaten ...) und eine andere Technologie zur Koordinatenumrechnung benutzen.
Dementsprechend unterstützen die 32-Bit und 64-Bit Windows Version von DaVinci den Einsatz der Enhanced MetaFiles ebenso wie den Einsatz von MetaFiles.
Zum Durchführen des Dateiimports oder Dateiexports benutzen Sie die Funktionen ipImportInd und ipExportInd. Diese Funktionen erwarten als Parameter jeweils eine ausgefüllte DAVPARAMS Struktur mit Angaben über die Art der zu konvertierenden Daten.
Falls Ihre Entwicklungsumgebung keine solche Struktur ausfüllen kann, können Sie die Funktionen ipImportExt und ipExportExt verwenden.
Falls die DIB in der BMP-Datei RLE-Kodiert gespeichert wurde (einfaches Kompressionsverfahren, biCompression=BI_RLE4 oder BI_RLE8) wandelt LoadDIBFromFile sie automatisch in ein unkomprimiertes Format um.
Top-Down DIBs (biHeight < 0) werden automatisch in Bottom-Up DIBs umgewandelt.
Für weitere Informationen zu Grafikdatenformaten lesen Sie bitte im Thema Windows API Datenformate nach.