• ベストアンサー

JPEGファイルのヘッダーの撮影日の位置は?

たくさんの方に教えていただき、変数を Dim Byte 宣言、For Next ループ内に Get 文を利用して配列としてJPEGファイルの先頭部分を 読み取る、それを Chr で文字変換して見ることが可能になりました。その文字を見ても、写真データの撮影日付の位置が判明できません。EXIFの規定では撮影日が タグ 9003 HEX、OFFSET 702 に ASC の文字で記録されている、となっていますが、ヘッダーの部分のかなり先まで見ても、撮影に関連する文字(メーカー、各種日付)などや、2010:01:25 という自分の撮影した日付も見えません。9003 HEX はとても大きな数字で変です。OFFSET 702 は HEXでしょうか、十進数でしょうか?日付として読めないのは文字変換が問題でしょうか?ちなみに英数字の text 文章ファイルは文字として正しく読めますので、ヘッダー情報は正しく取り込んでいると思います。 [目的は多くの写真ファイルの更新日を撮影日に自動的に連続置換するためです]

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

全ての JPEG ファイルに EXIF 情報が入っているわけではなさそうですが、編集されようとしているファイルに EXIF 情報が入っているのは間違いありませんか? 一度、バイナリエディタで対象のファイルを確認されてはどうでしょうか? http://www.vector.co.jp/vpack/filearea/win/util/bin/edit/ EXIF 情報については こちら↓のページが参考になりそうです。 http://park2.wakwak.com/~tsuruzoh/Computer/Digicams/exif.html#HIST このページを見てみると、9003 HEX は別に変ではなさそうです。 あと、蛇足ですが、 http://www.ryouto.jp/f6exif/table07.html のソフトを使用すれば、撮影日時を一括で変更することが可能なようです。

greenhope
質問者

お礼

教えて頂いたバイナリエディタをダウンロードして撮影日の位置を知ることができました。どうもありがとうございました。

greenhope
質問者

補足

エクスプローラで撮影日も、更新日も見えますので、編集したファイルに EXIF 情報は入っています。(Nikon D200で撮影)ご提案のフリーソフトは日付を手入力するようですが、こちらは更新日を撮影日に自動的に入れ替えたいので、ちょっと違うようです。

その他の回答 (1)

回答No.2

VB5の方ですよね? 業務用でなければ.NETへ移行しませんか? Express Editionでよければ、無料で入手できますよ http://www.microsoft.com/japan/msdn/vstudio/Express/ そっちで開発した方が早いとおもうのですが、、、 Frameworkに、EXIFタグ変更が簡単に変更できるものもあるので。。。 VB5や6と、各.NETの開発環境は一つの端末に共存できるので、そこら辺は問題ありません。 使用する側にFrameworkのインストールが必要となるという制限はつきますが、、、

関連するQ&A