如果您能解決此問題,我將非常感激。 我有2個圖像,一個是從TIF文件創建的元數據,另一個是內存中的圖像,將被保存爲jpeg。 然後我用這個例程EXIF元數據從第一圖像傳送到第二個(即從TIF文件創建的,在內存中的圖象的一個):將CIF/VB.NET中的EXIF元數據從TIF複製到JPEG
For Each _p In image1.PropertyItems
image2.SetPropertyItem(_p)
Next
而這個工作完全正常。所有exif項目都被成功複製。我通過在調試模式下使用手錶來確認這一點。
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屬性被保存但圖像2 JPEG文件,即只有相機型號和相機制造商:當你使用這個保存圖像2爲JPEG的問題就來了。但是,如果我將image2保存爲TIF,則原始tif中的所有屬性都將存在。任何人都可以解釋爲什麼?
謝謝。
實際上,進一步的調查顯示,元數據甚至以jpeg保存,但顯然是以修改的格式保存的,因爲它不會出現在圖像文件的屬性中。您可以使用十六進制編輯器在JPEG中看到它,但它不會被Windows和圖像查看器拾取。 – 2009-07-02 14:15:03