So wird’s gemacht: Schreiben von Bildmetadaten (HTML)

[ Dieser Artikel richtet sich an Windows 8.x- und Windows Phone 8.x-Entwickler, die Windows-Runtime-Apps schreiben. Wenn Sie für Windows 10 entwickeln, finden Sie weitere Informationen unter neueste Dokumentation ]

Diese Anleitung beschreibt, wie Bildmetadaten mit einem BitmapEncoder-Objekt geschrieben werden. Sie können Metadaten mithilfe von Windows-Eigenschaften oder mit der Windows-Bilderstellungskomponente-Metadatenabfragesprache schreiben.

Weitere Informationen über den Zugriff auf Metadaten mit BitmapDecoder und BitmapEncoder, finden Sie unter So wird's gemacht: Lesen von Bildmetadaten.

Hinweis  Sie können die Grundeigenschaften eines Windows.StorageFile mit den Windows.Storage.FileProperties-APIs festlegen, ohne einen Stream zu öffnen. Weitere Informationen finden Sie unter So wird's gemacht: Abrufen von Bildeigenschaften,.

 

Wissenswertes

Technologien

Voraussetzungen

Anweisungen

Schritt 1: Abrufen eines Encoderobjekts

Schreiben Sie zu Beginn eine Funktion, die ein BitmapEncoder-Objekt empfängt.

function (encoder) {
    

Mit dem Encoder können Sie auf die Bildmetadaten zugreifen. Falls Sie noch kein Encoderobjekt haben, lesen Sie So wird's gemacht: Codieren von neuen Bildern.

Schritt 2: Erstellen einer Sammlung von festzulegenden Metadaten

Speichern Sie Metadatenelemente, die Sie für den Encoder festlegen möchten, mit BitmapPropertySet. Ein Metadatenelement besteht aus einem Schlüssel-Wert-Paar.

Der Schlüssel ist eine Zeichenfolge, die das festzulegende Metadatenelement identifiziert. BitmapEncoder akzeptiert einige Windows-Eigenschaften sowie mit der Metadaten-Abfragesprache WIC konstruierte Abfragen. Eine Liste mit unterstützten Windows-Eigenschaften finden Sie unter Unterstützte Windows-Eigenschaften. Eine Zusammenfassung der unterstützten WIC-Metadatenabfragen finden Sie unter WIC-Metadatenabfragen für systemeigene Bildformate.

Der Wert ist ein BitmapTypedValue-Objekt, mit dem Sie den realen Metadatenwert einem expliziten Datentyp zuordnen können (Windows.Foundation.PropertyType).

Legen Sie die Metadaten System.Photo.Orientation, die die EXIF-Ausrichtung angeben, auf den Wert 1 fest ("normale" Ausrichtung), und weisen Sie ihr den Datentyp "uint16" zu.

    var propertySet = new Windows.Graphics.Imaging.BitmapPropertySet();
    var orientationValue = new Windows.Graphics.Imaging.BitmapTypedValue(
        1, // Defined as EXIF orientation = "normal"
        Windows.Foundation.PropertyType.uint16
        );

    propertySet.insert("System.Photo.Orientation", orientationValue);     

Schritt 3: Festlegen der Metadaten für den Encoder

Nachdem Sie alle Metadatenelemente konstruiert haben, legen Sie diese im Encoder fest, und setzen Sie den Codierungsvorgang fort.

    encoder.bitmapProperties.setPropertiesAsync(propertySet).done(function () {
        // Continue the encoding operation.
    }, function (error) {
        switch (error.number) {
            case -2003292351: // WINCODEC_ERR_PROPERTYNOTSUPPORTED
                // The file format does not support this property.
                break;
            default:
                throw error;
        }
    });
}    

Hinweis  Jedes Bildformat unterstützt einen anderen Satz von Metadatenelementen. Wenn Sie versuchen, ein Metadaten- oder Eigenschaftselement festzulegen, das vom Bildformat nicht unterstützt wird, erhalten Sie einen Fehler. Die System.Photo.Orientation-Eigenschaft wird z. B. nur von Bildern in den Formaten JPEG, TIFF und JPEG-XR unterstützt.

 

Anmerkungen

Wenn Sie mehrere Eigenschaften festlegen möchten, gehen Sie jeweils wie beim Festlegen einer einzigen Eigenschaft vor. Geben Sie einfach mehrere Name-Wert-Paare in einer Liste an. Der folgende Code legt gleichzeitig Orientation und CameraModel fest.

encoder.savePropertiesAsync(["System.Photo.Orientation": 1],
                                                         "System.Photo.CameraModel": "Camera Model 1"]);

Verwandte Themen

Codieren von Bildern

System.Photo-Eigenschaften

Lesen von Bildmetadaten

Abfragesprache für WIC-Metadaten

WIC-Metadatenabfragen für systemeigene Bildformate

Unterstützte Windows-Eigenschaften