Erweiterte Metadateivorgänge
Sie können das Handle für eine erweiterte Metadatei verwenden, um die folgenden Aufgaben auszuführen:
- Zeigt das Bild an, das in einer erweiterten Metadatei gespeichert ist.
- Erstellen Sie Kopien einer erweiterten Metadatei.
- Bearbeiten Sie eine erweiterte Metadatei.
- Rufen Sie die optionale Beschreibung ab, die in einer erweiterten Metadatei gespeichert ist.
- Dient zum Abrufen einer Kopie eines Enhanced-Metafile-Headers.
- Dient zum Abrufen einer binären Version einer erweiterten Metadatei.
- Aufzählen der Farben in der optionalen Palette.
Diese Aufgaben werden in den Abschnitten im restlichen Teil dieses Themas behandelt.
Anzeigen des Bilds, das in einer erweiterten Metadatei gespeichert ist
Sie können das in einer erweiterten Metadatei gespeicherte Bild mithilfe der PlayEnhMetaFile--Funktion anzeigen. Übergeben Sie die Funktion an die erweiterte Metadatei, ohne sich mit dem Format der erweiterten Metadateidatensätze zu befassen. Es ist jedoch manchmal wünschenswert, die Datensätze in der erweiterten Metadatei aufzuführen, um nach einer bestimmten GDI-Funktion zu suchen und die Parameter der Funktion auf irgendeine Weise zu ändern. Dazu können Sie EnumEnhMetaFile- verwenden und eine Rückruffunktion EnhMetaFileProcbereitstellen, um die erweiterten Metadateieinträge zu verarbeiten. Um die Parameter für einen erweiterten Metadateidatensatz zu ändern, müssen Sie das Format der Parameter innerhalb des Datensatzes kennen.
Erstellen von Kopien einer erweiterten Metadatei
Einige Anwendungen erstellen temporäre Sicherungskopien (oder Duplikate) einer Datei, bevor der Benutzer das Original ändern kann. Eine Anwendung kann eine Sicherungskopie einer erweiterten Metadatei erstellen, indem sie die CopyEnhMetaFile--Funktion aufrufen, ein Handle bereitstellen, das die erweiterte Metadatei identifiziert, und einen Zeiger auf den Namen der neuen Datei angibt.
Rufen Sie zum Erstellen einer speicherbasierten Metadatei im erweiterten Format die SetEnhMetaFileBits--Funktion auf.
Bearbeiten einer erweiterten Metadatei
Die meisten Anwendungen für Zeichnung, Illustration und computergestütztes Design (CAD) erfordern ein Mittel zum Bearbeiten eines Bilds, das in einer erweiterten Metadatei gespeichert ist. Obwohl das Bearbeiten einer erweiterten Metadatei eine komplexe Aufgabe ist, können Sie die EnumEnhMetaFile Funktion in Kombination mit anderen Funktionen verwenden, um diese Funktion in Ihrer Anwendung bereitzustellen. Die EnumEnhMetaFile--Funktion und die zugehörige Rückruffunktion EnhMetaFileProcermöglichen der Anwendung das Verarbeiten einzelner Datensätze in einer erweiterten Metadatei.
Abrufen der optionalen Beschreibung, die in einer erweiterten Metadatei gespeichert ist
Einige Anwendungen zeigen die Textbeschreibung einer erweiterten Metadatei mit dem entsprechenden Dateinamen im Dialogfeld Öffnen an. Sie können bestimmen, ob diese Zeichenfolge in einer erweiterten Metadatei vorhanden ist, indem Sie den Metadateiheader mit der GetEnhMetaFileHeader--Funktion abrufen und eines seiner Member untersuchen. Wenn die Zeichenfolge vorhanden ist, ruft die Anwendung sie durch Aufrufen der GetEnhMetaFileDescription-Funktion ab.
Abrufen einer binären Version einer erweiterten Metadatei
Sie können den Inhalt einer Metadatei abrufen, indem Sie die GetEnhMetaFileBits- funktion aufrufen; Vor dem Abrufen des Inhalts müssen Sie jedoch die Größe der Datei angeben. Um die Größe zu erhalten, können Sie die GetEnhMetaFileHeader--Funktion verwenden und das entsprechende Element untersuchen.
Aufzählen der Farben in der optionalen Palette
Um konsistente Farben zu erzielen, wenn ein Bild auf verschiedenen Ausgabegeräten angezeigt wird, können Sie die CreatePalette-Funktion aufrufen und eine logische Palette in einer erweiterten Metadatei speichern. Eine Anwendung, die das in der erweiterten Metadatei gespeicherte Bild anzeigt, ruft diese Palette ab und ruft die RealizePalette-Funktion auf, bevor das Bild angezeigt wird. Um zu ermitteln, ob eine Palette in einer erweiterten Metadatei gespeichert ist, rufen Sie den Metadateiheader ab, und untersuchen Sie das entsprechende Element. Wenn eine Palette vorhanden ist, können Sie die GetEnhMetaFilePaletteEntries Funktion aufrufen, um die logische Palette abzurufen.