Pergunta

Eu realmente aprecio se você poderia lançar luz sobre este problema. Eu tenho 2 imagens, um foi criado a partir do arquivo TIF com metadados, o outro é uma imagem na memória que será salva como jpeg. Então eu uso essa rotina para transferência de metadados EXIF ??da primeira imagem para o segundo (que é a partir do que foi criado a partir de tif arquivo para a imagem na memória):

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

E isso funciona perfeitamente bem. Todos os itens EXIF ??são copiados com sucesso. Confirmei isso usando relógios no modo de depuração. O problema surge quando você salvar image2 como jpeg usando este:

    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)

Apenas muito poucas as propriedades EXIF ??são salvos com o arquivo image2 jpeg no entanto, ou seja, apenas o modelo da câmera e máquina de câmera. No entanto Se eu salvar image2 como TIF, todas as propriedades do tif originais estarão lá. Alguém pode explicar por que isso?

Graças.

Foi útil?

Solução

Dê uma olhada Exiv2Sharp - este invólucro em torno Exiv2 deve fornecer o que você' re procurando.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top