Domanda

Vorrei davvero apprezzare se si potrebbe far luce su questo problema.Ho 2 immagini, una è stata creata da un file TIF con i metadati, l'altro è un'immagine di memoria che verrà salvata come jpeg.Allora io uso questa routine per trasferire i dati exif da prima immagine per il secondo (che è quello creato da tif file in memoria l'immagine):

For Each _p In image1.PropertyItems
   image2.SetPropertyItem(_p)
Next

E questo funziona perfettamente bene.Tutti i dati exif elementi vengono copiati correttamente.Ho confermato questo utilizzando orologi in modalità di debug.Il problema nasce quando si salva image2 come jpeg usando questo:

    Dim eps As EncoderParameters = New EncoderParameters(1)
    eps.Param(0) = New EncoderParameter(Encoder.Quality, 85)
    Dim ici As ImageCodecInfo = GetEncoderInfo("image/jpeg")
    image2.Save("C:\1.jpg", ici, eps)

Solo pochi EXIF proprietà sono salvati con image2 file jpeg tuttavia, vale a dire solo il modello di telecamera e macchina del caffè.Tuttavia, Se riesco a risparmiare image2 come TIF, tutte le proprietà dall'originale tif ci sarà.Qualcuno può spiegare perché?

Grazie.

È stato utile?

Soluzione

Guarda Exiv2Sharp - questo wrapper Exiv2 dovrebbe fornire quello che stai cercando.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top