2009-07-02 123 views
1

如果您能解決此問題,我將非常感激。 我有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中的所有屬性都將存在。任何人都可以解釋爲什麼?

謝謝。

+0

實際上,進一步的調查顯示,元數據甚至以jpeg保存,但顯然是以修改的格式保存的,因爲它不會出現在圖像文件的屬性中。您可以使用十六進制編輯器在JPEG中看到它,但它不會被Windows和圖像查看器拾取。 – 2009-07-02 14:15:03

回答

0

看看Exiv2Sharp - Exiv2的這個包裝應該提供你正在尋找的東西。

+0

非常感謝。聽起來很有趣。但是,我可能很愚蠢 - 我該如何下載它? – 2009-07-17 10:36:09