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