1

如果您能阐明这个问题,我将不胜感激。我有 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 的所有属性都将存在。谁能解释这是为什么?

谢谢。

4

1 回答 1

0

看看Exiv2Sharp - Exiv2 的这个包装器应该提供你正在寻找的东西。

于 2009-07-02T11:06:01.727 回答