Directory Contents Search << >>


Datenquellen und Datensenken (Streams)

Achtung! Diese Seite ist Teil der noch unvollständigen Dokumentation der Alpha-Version von DaVinci 4.

Kompression von Bilddaten

Die DaVinci-Bibliothek eignet sich dank der besonderen Eigenschaften, der unterstützten Datenformate nicht nur als Konverter für Datenformate, sondern auch ganz hervorragend zur Kompression von Bilddaten.

Das Dateiformat JPEG eignet sich besonders zur Kompression von Echtfarbbilder wie Fotografien, das TIFF-Datenformat bietet gute Kompressionsunterstützung für Skizzen und dank der Fax G3/G4-Technik eine besonders hohe Kompressionsrate für Schwarz/Weiß Grafiken.

Ablage der komprimierten Bilddaten

Bei normaler Handhabung entnimmt DaVinci die Bilddaten einer Datei und speichert komprimierte Bilddaten wieder als Datei ab. Für Anwendungen der Bildarchivierung unterstützt DaVinci aber auch eine streaming Technologie, mit deren Hilfe Sie die Daten ohne einen Umweg über eine Datei direkt in Ihrer Applikation bearbeiten können.

Das IStream Interface

DaVinci führt alle Datei Ein-/Ausgaben über Objekte mit IStream Interface durch. Das IStream-Interface wurde von Microsoft zunächst für den Einsatz mit OLE Storage-Containern definiert, wird aber mittlerweile auch in vielen anderen APIs eingesetzt.

Normalerweise öffnet und schließt DaVinci beim Aufruf von ipImportInd bzw. ipExportInd automatisch die Datei anhand des angegebenen Dateinamens und verwendet zum Dateizugriff intern ein Objekt mit IStream * Interface. Die Anwendung kann jedoch im Member stream der DAVPARAMS-Struktur ein objekt mit IStream Interface angeben über das die Datei Ein/Ausgaben erfolgen sollen.

Das IStream Interface ist eine Interface-Definition, kein API. Das bedeutet, daß jede Anwendung Klassen implementieren kann, die dieses Interface implementieren. Am Einfachsten ist dies mit C++ möglich.

Standardimplementierungen

Folgende Implementierungen von Klassen mit IStream-Interface stehen zur Verfügung:

ipCreateStreamOnFileA / ipCreateStreamOnFileW von DaVinci in davinci4.dll erzeugt für eine Datei mit angegebenem Dateinamen ein Objekt mit IStream-Interface. Diese Funktion hat dieselbe Semantik wie die Windows API-Funktion SHCreateStreamOnFile. SHCreateStreamOnFile erfordert aber die Installation eines Microsoft Internet Explorer 6 oder neuer (Die mit Internet Explorer 5 mitgelieferte Implementierung ist fehlerhaft).

CreateStreamOnHGlobal vom WIN32 API erzeugt ein Objekt mit IStream Interface basierend auf einem Speicherbereich der mit der Funktion GlobalAlloc angefordert wurde.

ipCreateStreamOnHmmio von DaVinci in davinci4.dll erzeugt für ein bereits vorhandenes HMMIO-Handle vom MMSYSTEM-API mmioOpen ein Objekt mit IStream-Interface. Diese Funktion soll Anwendern die Portierung von Anwendungen die für DaVinci 3 entwickelt wurden erleichtern.

-


Valid HTML 4.01!