Nikon D70/D50 所產生的 jpg 檔案, 是將 ISO 的值放在 MakerNote 的某個欄位中, 所以如果你用的軟體沒有特別做這個處理時, 並不能顯示該檔案的 ISO 值. 在網路上可以找到 ISOFix 這個軟體可以將 ISO 值放到一般軟體支援的 ISOSpeedRatings 欄位中.
這個作法可以讓 Gallery 2.0.x 正確顯示 ISO. 但是在 2.1 RC1 中不行. 在檢查了 Gallery 2.1 RC1 的原始碼後, 發現在 modules/exif/classes/ExifHelper.class 中, 對於 ISO 的讀取順序, 是先讀 MakerNote 裡頭的某幾個欄位, 如果都不存在, 最後才讀取 ISOSpeedRatings 這個欄位. 所以就把這個順序改了一下, 至少在我的 Gallery 中, 還沒看到有不能正常讀取的情形:
--- ExifHelper.class.orig 2006-02-13 22:30:59.102918749 +0800
+++ ExifHelper.class 2006-02-13 13:28:09.878226663 +0800
@@ -583,9 +583,9 @@
array($gallery->i18n('Shutter Speed Value'),
'SubIFD.ShutterSpeedValue', 'SubIFD.ExposureTime');
$data['ISO'] =
- array($gallery->i18n('ISO'),
+ array($gallery->i18n('ISO'), 'SubIFD.ISOSpeedRatings',
'SubIFD.MakerNote.Settings 1.ISO', 'SubIFD.MakerNote.ISOSelection',
- 'SubIFD.MakerNote.ISOSetting', 'SubIFD.ISOSpeedRatings');
+ 'SubIFD.MakerNote.ISOSetting');
$data['FocalLength'] =
array($gallery->i18n('Focal Length'), 'SubIFD.FocalLength');
$data['Flash'] =
這個 patch 我有轉送給 Gallery 的團隊, 不過目前似乎不打算接受, 說沒有對所有的 Maker 與 Model 測試過 (我去那找所有的 Maker 與 Model? 我也不相信他們改成目前這樣有測過, 不然我的 D50 產生的檔案怎麼就不能讀?), 反正目前還在討論中, 如果真的不接受, 那就自己每次更新時再修正吧.
目前尚未接受這個 patch, 不過已經 submit 到 sourceforge 了, 要不要再說吧:
http://sourceforge.net/tracker/index.php?func=detail&aid=1433383&group_id=7130&atid=307130
正奇怪ISO秀不出來說!推推推!
如果是 nikon 的相機, ISO 也許用這一篇的修改方法會比較好.
http://blog.teatime.com.tw/1/post/237