Come scrivere i metadati delle immagini (HTML)
[ Questo articolo è rivolto agli sviluppatori per Windows 8.x e Windows Phone 8.x che realizzano app di Windows Runtime. Gli sviluppatori che usano Windows 10 possono vedere Documentazione aggiornata ]
Questo argomento illustra come usare un oggetto BitmapEncoder per scrivere i metadati dell'immagine. Puoi scrivere i metadati usando le proprietà di Windows o il linguaggio di query dei metadati Windows Imaging Component (WIC).
Per ulteriori informazioni sull'accesso ai metadati usando BitmapDecoder e BitmapEncoder, vedi Come leggere i metadati delle immagini.
Nota Puoi usare le API di Windows.Storage.FileProperties per ottenere e impostare proprietà di base su un oggetto Windows.StorageFile senza aprire un flusso. Per altre informazioni, vedi Come recuperare le proprietà dell'immagine.
Cosa sapere
Tecnologie
- Creazione della prima app di Windows Runtime scritta in JavaScript
- Windows.Graphics.Imaging
- Linguaggio di query WIC per metadati
- Linguaggio di query WIC per metadati
- Query di metadati in formato immagine nativo WIC
- Proprietà di Windows supportate
Prerequisiti
- Dovresti essere in grado di creare una semplice app di Windows Runtime scritta JavaScript. Per altre informazioni, vedi Creazione della prima app di Windows Runtime scritta JavaScript.
- Dovresti già sapere come codificare un'immagine usando BitmapEncoder. Per altre info, vedi Come codificare una nuova immagine.
Istruzioni
Passaggio 1: Recupera un oggetto codificatore
Scrivi la parte iniziale di una funzione che riceve un oggetto BitmapEncoder.
function (encoder) {
Il codificatore ti consente l'accesso ai metadati dell'immagine. Se ancora non disponi di un oggetto codificatore, vedi Come codificare una nuova immagine.
Passaggio 2: Crea una raccolta di metadati da impostare
Usa BitmapPropertySet per archiviare i metadati da impostare sul codificatore. Ogni elemento di metadati è una coppia chiave-valore.
La chiave è una stringa che identifica l'elemento di metadati da impostare. BitmapEncoder accetta alcune proprietà di Windows e query costruite usando il linguaggio di query dei metadati WIC. Per un elenco delle proprietà di Windows supportate, vedi Proprietà di Windows supportate. Per un riepilogo delle query di metadati WIC supportati, vedi Query di metadati in formato immagine nativo WIC.
Il valore è un elemento BitmapTypedValue che consente di associare il valore di metadati effettivo con un tipo di dati esplicito (Windows.Foundation.PropertyType).
Imposta il valore di metadati System.Photo.Orientation che specifica l'orientamento EXIF, su un valore 1 che specifica un orientamento "normale" e assegna a esso un tipo di dati uint16.
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);
Passaggio 3: Impostare i metadati sul codificatore
Dopo avere costruito tutti gli elementi di metadati, impostali sul codificatore e continua con l'operazione di codifica.
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;
}
});
}
Nota Ogni formato di immagine supporta un set diverso di elementi di metadati. Se tenti di impostare un elemento di metadati o di proprietà non supportato dal formato di immagine, otterrai un errore. Ad esempio, solo le immagini JPEG, TIFF e JPEG-XR supportano la proprietà System.Photo.Orientation.
Osservazioni
Per impostare più proprietà, procedi come per una singola proprietà, ma specifica in un elenco più coppie nome/valore Qui il codice imposta contemporaneamente l'orientamento e CameraModel.
encoder.savePropertiesAsync(["System.Photo.Orientation": 1],
"System.Photo.CameraModel": "Camera Model 1"]);
Argomenti correlati
Come leggere i metadati dell'immagine
Linguaggio di query WIC per metadati