Erweiterte Metadateierstellung
Sie erstellen eine erweiterte Metadatei mithilfe der CreateEnhMetaFile--Funktion und geben die entsprechenden Argumente an. Das System verwendet diese Argumente, um Bildabmessungen beizubehalten, zu bestimmen, ob die Metadatei auf einem Datenträger oder im Arbeitsspeicher gespeichert werden soll usw.
Um Bildabmessungen über Ausgabegeräte hinweg aufrechtzuerhalten, erfordert CreateEnhMetaFile- die Auflösung des Referenzgeräts. Dieses Referenzgerät ist das Gerät, auf dem das Bild zuerst angezeigt wurde, und der Verweis DC ist der Gerätekontext dem Referenzgerät zugeordnet. Beim Aufrufen der CreateEnhMetaFile--Funktion müssen Sie ein Handle bereitstellen, das diesen DC identifiziert. Sie können dieses Handle abrufen, indem Sie die GetDC-- oder CreateDC--Funktion aufrufen. Sie können auch NULL- als Handle angeben, um das aktuelle Anzeigegerät für das Referenzgerät zu verwenden.
Die meisten Anwendungen speichern Bilder dauerhaft und erstellen daher eine erweiterte Metadatei, die auf einem Datenträger gespeichert ist; Es gibt jedoch einige Fälle, in denen dies nicht erforderlich ist. Beispielsweise könnte eine Textverarbeitungsanwendung, die Diagrammzeichnungsfunktionen bereitstellt, ein benutzerdefiniertes Diagramm im Arbeitsspeicher als erweiterte Metadatei speichern und dann die erweiterten Metadateibits aus dem Speicher in die Dokumentdatei des Benutzers kopieren. Eine Anwendung, die eine Metadatei erfordert, die dauerhaft auf einem Datenträger gespeichert ist, muss den Dateinamen angeben, wenn sie CreateEnhMetaFileaufruft. Wenn Sie keinen Dateinamen angeben, behandelt das System die Metadatei automatisch als temporäre Datei und speichert sie im Arbeitsspeicher.
Sie können einer Metadatei eine optionale Textbeschreibung hinzufügen, die Informationen über das Bild und den Autor enthält. Eine Anwendung kann diese Zeichenfolgen im Dialogfeld "Datei öffnen" anzeigen, um dem Benutzer Informationen zu Metadateiinhalten bereitzustellen, die beim Auswählen der entsprechenden Datei helfen. Wenn eine Anwendung die Textbeschreibung enthält, muss sie einen Zeiger auf die Zeichenfolge angeben, wenn sie CreateEnhMetaFile-aufruft.
Wenn CreateEnhMetaFile- erfolgreich ist, wird ein Handle zurückgegeben, das einen speziellen Metadateigerätekontext identifiziert. Ein Metafile-Gerätekontext ist eindeutig, da er einer Datei und nicht mit einem Ausgabegerät zugeordnet ist. Wenn das System eine GDI-Funktion verarbeitet, die ein Handle zu einem Metafile-Gerätekontext empfangen hat, konvertiert es die GDI-Funktion in einen enhanced-metafile-Datensatz und fügt den Datensatz an das Ende der erweiterten Metadatei an.
Nachdem ein Bild abgeschlossen ist und der letzte Datensatz an die erweiterte Metadatei angefügt wird, kann die Anwendung die Datei schließen, indem sie die CloseEnhMetaFile--Funktion aufruft. Diese Funktion schließt und löscht den speziellen Metadateigerätekontext und gibt ein Handle zurück, das die erweiterte Metadatei identifiziert.
Rufen Sie die DeleteEnhMetaFile--Funktion auf, um eine Metadatei im erweiterten Format oder ein Erweitertes Format-Metadatei-Handle zu löschen.