class Exif::Tag::MakerNote::Tag0x0001
0x0001 - Tag0x0001
Public Instance Methods
processData()
click to toggle source
# File lib/exifparser/makernote/canon.rb, line 27 def processData @formatted = [] partition_data(@count) do |part| @formatted.push _formatData(part) end end
value()
click to toggle source
# File lib/exifparser/makernote/canon.rb, line 34 def value numTags = @formatted[0] / 2 ret = {} return ret if numTags < 2 # # offset 1 : Macro mode # ret["Macro mode"] = case @formatted[1] when 1 "Macro" when 2 "Normal" else "Unknown" end return ret if numTags < 3 # # offset 2 : if nonzero, length of self-timer in 10ths of a second. # selftimer_length = @formatted[2] return ret if numTags < 5 # # offset 4 : Flash mode # ret["Flash mode"] = case @formatted[4] when 0 "flash not fired" when 1 "auto" when 2 "on" when 3 "red-eye reduction" when 4 "slow synchro" when 5 "auto + redeye reduction" when 6 "on + redeye reduction" when 16 "external flash" else "unknown" end return ret if numTags < 6 # # offset 5: Contiuous drive mode # ret["Continuous drive mode"] = case @formatted[5] when 0 if selftimer_length != 0 "Timer = #{selftimer_length/10.0}sec." else "Single" end when 1 "Continuous" end return ret if numTags < 8 # # offset 7: Focus Mode # ret["Focus Mode"] = case @formatted[7] when 0 "One-Shot" when 1 "AI Servo" when 2 "AI Focus" when 3 "MF" when 4 "Single" when 5 "Continuous" when 6 "MF" else "Unknown" end return ret if numTags < 11 # # offset 10: Image size # ret["Image Size"] = case @formatted[10] when 0 "Large" when 1 "Medium" when "Small" else "Unknown" end return ret if numTags < 12 # # offset 11: "Easy shooting" mode # ret["Easy shooting mode"] = case @formatted[11] when 0 "Full auto" when 1 "Manual" when 2 "Landscape" when 3 "Fast Shutter" when 4 "Slow Shutter" when 5 "Night" when 6 "B&W" when 7 "Sepia" when 8 "Portrait" when 9 "Sports" when 10 "Macro / Close-Up" when 11 "Pan Focus" else "Unknown" end return ret if numTags < 14 # # offset 13: Contrast # ret["Contrast"] = case @formatted[13] when 0xffff "Low" when 0x0000 "Normal" when 0x0001 "High" else "Unknown" end return ret if numTags < 15 # # offset 14: Saturation # ret["Saturation"] = case @formatted[14] when 0xffff "Low" when 0x0000 "Normal" when 0x0001 "High" else "Unknown" end return ret if numTags < 16 # # offset 15: Contrast # ret["Sharpness"] = case @formatted[15] when 0xffff "Low" when 0x0000 "Normal" when 0x0001 "High" else "Unknown" end return ret if numTags < 17 # # offset 16: ISO # ret["ISO"] = case @formatted[16] when 0 "ISOSpeedRatings" when 15 "Auto" when 16 50 when 17 100 when 18 200 when 19 400 else "Unknown" end return ret if numTags < 18 # # offset 17: Metering mode # ret['Metering mode'] = case @formatted[17] when 3 "Evaluative" when 4 "Partial" when 5 "Center-weighted" else "Unknown" end ret end