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らとどっか行くー?>本屋]