- PR -

jpegのヘッダー領域について

投稿者投稿内容
はぎ丸
常連さん
会議室デビュー日: 2005/02/02
投稿数: 36
投稿日時: 2005-03-18 18:20
こんばんは。
引用:

ファイルをコピーしてまったく同じ内容の
AとBを作り、Aにのみコメントを追加して比較しました。
Aは更新されていますし、コメントも表示されています。


??
今、手持ちのjpgファイルのプロパティを開いて
コメントを編集してみましたが、
ファイルサイズおよび中身も変わっているようです。
ちいにぃ
大ベテラン
会議室デビュー日: 2002/05/28
投稿数: 244
投稿日時: 2005-03-18 18:55
数年前(たぶんWindows XP がでた当時)に、Windows 2000 と XPでは
処理が違うという情報を見かけたことを思い出しました。
(見かけた場所はわかりません。どこかのメーリングリストだったかも)


実際に試してみました。

Windows 2000 Professional SP4 で:

ファイルシステムがNTFSのドライブ上で、
C:\\Documents and Settings\\username\\My Documents\\My Pictures\\サンプル.jpgをコピーして、
こちらにコメントを記入したところ、ファイルサイズは変化しませんでした。
どちらも「9.66 KB (9,894 バイト)」になります。

NTFSにはMacの「リソースフォーク」に当たる仕組みがあるので(名称は失念)、
コメントはそちらに保存されたのだと思います。


Windows XP SP1では:

ファイルシステムがNTFSのドライブ上で、
Windfows2000の「サンプル.jpg」をコピーして、同様にコメントを記入すると、
こちらはファイルサイズが増えて「10.3 KB (10,594 バイト)」になります。
やまさん2004
常連さん
会議室デビュー日: 2004/03/11
投稿数: 32
投稿日時: 2005-03-18 19:09
XPだとできました。
2000は対象外にするしかないですよね。
XP限定として進めてみます。
ちいにぃ
大ベテラン
会議室デビュー日: 2002/05/28
投稿数: 244
投稿日時: 2005-03-18 19:19
Macのリソースフォークに当たる仕組みの名称を思い出しました。
「ストリーム」です。

  NTFS (NT filesystem)
  http://www.atmarkit.co.jp/icd/root/13/14575813.html
  (灯台もと暗し‥‥

  プログラマから見た NTFS 2000 Part1: ストリームとハード リンク
  http://www.microsoft.com/japan/msdn/windows/windows2000/ntfs5.asp

  □ NTFS 代替データストリームに関するメモ □
  http://www.port139.co.jp/csir_ntfsads.htm

  NTFSの便利な拡張機能を使いこなすためのオンラインソフト
  http://www.forest.impress.co.jp/article/2002/12/05/ntfs.html

で、Windows 2000上で、
Sysinternals Freewareのstreamコマンド
http://www.sysinternals.com/ntw2k/source/misc.shtml#streams
を使って確かめてみました。


こちらが元のJPEGファイル:

C:> streams サンプル.jpg

Streams v1.3 - Enumerate alternate NTFS data streams
Copyright (C) 1999-2001 Mark Russinovich
Sysinternals - www.sysinternals.com


こちらがコメントを書き込んだJPEGファイル:

C:> streams サンプル2.jpg

Streams v1.3 - Enumerate alternate NTFS data streams
Copyright (C) 1999-2001 Mark Russinovich
Sysinternals - www.sysinternals.com

C:\\\\\\\\Documents and Settings\\\\\\\\username\\\\\\\\My Documents\\\\\\\\My Pictures\\\\\\\\ :SummaryInformation:$DATA 168
:{4c8cc155-6c1e-11d1-8e41-00c04fb9386d}:$DATA 0

コメントを書き込んだファイルでは、ストリームが追加されていることがわかります。

で、もし、ストリームを読み書きするのであれば、
前記のstreamコマンドにソースコード(読み出しのみですが)が
付いているので参考になるでしょう。
やまさん2004
常連さん
会議室デビュー日: 2004/03/11
投稿数: 32
投稿日時: 2005-03-18 19:29
なるほど!
NTFSの仕組みなんですね。
XPと2000で使う領域が違うなんて。。
これだけ背景をしっかり持てて安心です(苦笑)
ホントにありがとうございました。
ちいにぃ
大ベテラン
会議室デビュー日: 2002/05/28
投稿数: 244
投稿日時: 2005-03-18 19:38
ついでに。

Windows XP でコメント欄に記入した(ファイル自体に書き込まれた)
JPEGファイルをWindows 2000上にコピーしてみました。

Windows 2000のエクスプローラでは、コメントは全く無視され、
なにも表示されませんでした。


よって、「Windows XP のみ」を対象にするのが一番楽そうですね。

もしWindows2000で実現するならエクスプローラを拡張する、
つまりJPEGのExifを読み取って表示するシェル拡張を作ってインストールする、
ってことになりそうです。
(すでにそういうシェル拡張がどこかにあるかもしれませんけど、
私は知りません‥‥)
やまさん2004
常連さん
会議室デビュー日: 2004/03/11
投稿数: 32
投稿日時: 2005-03-18 19:58
そうですよね。
2000だと既存でない限りはストリームの理解からですものね。
おっしゃる通り、XP限定ということで進めます。
一日お付き合い頂いた感じで恐縮です。
ありがとうございました。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-03-18 21:20
引用:

JPEGのヘッダー領域を編集できるソフトを作りたい


作りたいのですよね?サンプル貼り合わせたものを「作った」というの?私は、いいたくないなぁ。。。

 JPEGなんて、フォーマット解説した書籍もサイトも、いくらでもあります。そういうものを“活用”しましょうよ。自分で苦労しないと、なんにも身に付かないよ。。。

 だいたい、フォーマットがわかれば、あとはバイナリ形式で読んで構造体に入れていくだけやん。もっとも、その‘だけ’が出来ない人もいるんだけど、それならそれで、他にやるべきことがあるでしょ。
 Googleがまだない頃に探して、ディスクに保存してるページもあるから、Yahoo!のディレクトリ下降でも、それなりに出てくるはずだけどなぁ。
http://www.yk.rim.or.jp/~mamo/Computer/DS-7/exif.html
http://park2.wakwak.com/~tsuruzoh/

 探したけど見つからないってホント?Google様にお伺いを立てたら、1ページ目だけでも3つはありそうだよ???

 書籍に関しては、amazon.co.jpでの検索結果はこちら。一番最初にそのものズバリがあるやん。


 5年前に作ろうとしたことがあるから、見つからないなんてことはない。5年前でさえ、それなりに作れるだけの情報は揃っていた。

_________________

スキルアップ/キャリアアップ(JOB@IT)