在C#/ VB.NET中将EXIF元数据从TIF复制到JPEG

时间:2009-07-02 10:38:43

标签: .net jpeg tiff exif

如果你能解释这个问题,我真的很感激。 我有2个图像,一个是从带有元数据的TIF文件创建的,另一个是将保存为jpeg的内存中图像。 然后我使用这个例程将exif元数据从第一个图像传输到第二个图像(即从tif文件创建到内存中的图像):

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

这完全没问题。所有exif项都已成功复制。我在调试模式下使用手表证实了这一点。当您使用以下方法将image2另存为jpeg时会出现问题:

    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)

只有极少数EXIF属性与image2 jpeg文件一起保存,但只有相机型号和相机制造商。但是,如果我将image2保存为TIF,则原始tif中的所有属性都将存在。谁能解释为什么会这样?

感谢。

1 个答案:

答案 0 :(得分:0)

看看Exiv2Sharp - 围绕Exiv2的这个包装应该提供你想要的东西。