2003-03-02 この日を編集
_ [Ruby] Exif
とりあえず出来た。 データがインテル形式、サムネイルがJpegのみ。
fname ="c:\\draw\\SH510080.JPG"
buf = '';
File.open(fname){
f.binmode
buf = f.read
}
p count = buf.slice(20,2).unpack("v")[0] # ディレクトリエントリの数
e = Array.new
0.upto(count-1){|i|
e << buf.slice(22+i*12,12).unpack("vvVV")
}
e.each{|itm|
if itm[0] == 0x010f
p buf.slice(12+itm[3],itm[2])
end
}
p off_set = buf.slice(22+(count)*12,4).unpack("v*")[0] # サムネイルエントリ
p count = buf.slice(off_set+12,2).unpack("v*")[0]
f = Array.new
0.upto(count-1){|i|
f << buf.slice(off_set+2+12+i*12,12).unpack("vvVV") # ディレクトリエントリ
}
type = 0
f.each{|itm|
if itm[0] == 0x0103 and itm[3] == 6
type = itm[3]
end
}
p type
sum_start = 0
sum_end = 0
if type ==6
f.each{|itm|
if itm[0] == 0x0201
sum_start = itm[3]
end
if itm[0] == 0x0202
sum_end = itm[3]
end
}
File.open("temp.jpg","ab+"){|f|
f.print(buf.slice(12+sum_start,sum_end))
}
end
動作確認はJ-SH51だけ。
[ツッコミを入れる]





Before...
_ あやねえ [暇なお姉さまのお家までいらっさりませ(笑)]
_ 本屋 [一度一緒に走りたいですねぇ。]
_ もりた [ですねぇ。3月末まで大阪いるし、Tらとどっか行くー?>本屋]