Mi è capitato di dover accedere da programma ai metadati (Keywords, Title, Rating, ecc) impostati nei metadati di un insieme di file jpg; questi metadati possono essere impostati da qualsiasi programma di grafica o dal sistema operativo stesso.
Il framework .NET ci mette a disposizione un modo semplice per accedere a queste informazioni. Innanzitutto è necessario referenziare le seguenti librerie:
PresentationCore
WindowsBase
Fatto questo l'accesso ai metadati è davvero semplice. Vi riporto nel seguito il codice di una console application in VB.NET che visualizza il Title e le Keywords letti da un jpg:
Imports System.Windows.Media.Imaging
Module Module1
Sub Main()
Dim decoder As New JpegBitmapDecoder(New Uri("C:\tmp\immagine.jpg"), _
BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.OnLoad)
Dim bitmap As BitmapMetadata = decoder.Frames(0).Metadata
Console.WriteLine(bitmap.Title)
Console.WriteLine("------------------------------------")
For Each k In bitmap.Keywords
Console.WriteLine(k)
Next
Console.ReadLine()
End Sub
End Module
Grazie a Marco Nava per il tip.