======================================================================= 【ソ フ ト名】 DSC Time Stamp Ver 2.03 Copyright (C) 1998-2007 by CVL 【ファイル名】 DSCT203.ZIP 【制 作 者】 cvl@mue.biglobe.ne.jp 【対応 環境】 Windows 98/2000/XP 【作成 方法】 ZIP圧縮 【ソフトウェア種別】 メールウェア(感想メールください。) ======================================================================= ■ DSC Time Stamp ▲初めに このプログラムは,私が愛用している,デジカメ( Fuji Film FinePix シリーズ ) の 画像ファイル(Exif形式)を処理する目的で作成したものです。 FinePix シリーズ で 採用している Exif形式の ファイル には jpg形式の実画像 ファイルと共に 撮影情報(日付やシャッター時間等)と サムネイル(縮小画面イ メージ)などの情報が Exif ヘッダー としてパックされています。しかし,この ファイルを他の画像処理ソフトにかけてしまうと,Exif ヘッダー情報が自動的に 削除されてしまうことがあります。せっかく撮影日付が記憶されているのに 何とも 無惨な限りです。そこで,撮影日付情報を 残す有効な手段として次の方法を考えました。  1.ファイル の タイムスタンプ(ファイル作成日)を 撮影日付に変更  2.ファイル名 自身に 撮影日付を 付加  また,jpg形式の実画像ファイル だけ有ればよいのなら 撮影情報 と サムネイル の情報は必要なくなるので   ・Exif ヘッダー の 除去 の機能も付加しました。 ▲プログラムのインストール方法 1.まず DSCT203.ZIP ファイル を 解凍してください。   この ドキュメントと DSCSTAMP.EXE が 作成されます。 2.DSCSTAMP.EXE を どこか自分の好きな場所に格納しなおします。 3.DSCSTAMP.EXE の ショートカット を 作ります。 4.DSCSTAMP.EXE の ショートカット の プロパティ の 中の 作業フォルダー名を 画像ファイル指定の 標準ディレクトリー名として指定します。 ▲使用方法  使用方法は 実際に プログラムを 起動し 画面の 指示に従えば わかると思って おります。 また,次のような起動の仕方があります。 DSC Time Stamp の ICON上に フォルダーやファイルなどの ICON を ドラッグ& ドロップすると DSC Time Stamp の プログラムが 起動した時点で ファイル選択の 規定値フォルダ名が ドラッグ&ドロップした ファイルのフォルダ名になる。 注意点を 以下に述べます。  注意点 1. このプログラムは 制作後 一応の動作テストを行っておりますが        万が一 誤動作する可能性は否定できません。プログラム実行の 前には必ずバックアップするなどの用心をお勧めします。        (もし誤動作しても私自身なんら責任おいませんのでご了承ください)      2. Exif ヘッダー除去を 行うと 平均して 10k Byte 程度 ファイルが        小さくなりますが,副作用として ファイルから 日付情報が無くなっ        てしまうため 再処理できなくなってしまいます。 3."現ファイル名_YYMMDD_HHMMSS.jpg" の 変換を 2回以上実行すると "現ファイル名_YYMMDD_HHMMSS_YYMMDD_HHMMSS.jpg" と言うように 日付の 情報が次々と追加されていくため,大変な事になってしまいます。        (こうなると元に戻すことはできず "D_HHMMSS.jpg" 形式 又は "YYMMDD_HHMMSS.jpg" 形式に 再変換するぐらいしか有りません)      4. ファイルの タイムスタンプ情報は 秒の表示が 2秒単位でしか        管理されないため,奇数秒の場合1秒切り下げられ偶数となります。 5. タイムスタンプは Windows で使用されている ファイル形式 FAT/FAT32 の (32ビットで表現している為の)物理的な制約を受けます。 表現できる日付範囲は 1980年1月1日 から 2107年12月31日 までです。 上記128年間を 2秒単位でしか表現できない仕組みとなっています。 1980年01月01日 00時 00分 00秒 1980年01月01日 00時 00分 02秒       ↓ 2107年12月31日 23時 59分 58秒 上記範囲を超えてしまいますと ±128年 突然表示の日付が変わってしまいます。      6. もし複数のファイルの作成日が同一日時であったときには 2番目        に処理する ファイルの 処理時点で ファイル名に a 〜 z の 文字を        付加し処理します。z 迄行ってしまったときはename error となります。        (通常は 撮影間隔が 2秒以上であることがほとんどなので この現象        は発生しないことと思いますが 連写可能な最新機種やファイラー等の        ソフトで タイムスタンプ情報を同一に変更したりしているとおこり得        ます。)      7. 一旦 画像ファイルや ディレクトリー 情報を メモリーに 取り込        んだ後 実行するようにしています。このため複数のプログラムを同        時起動してメモリーが苦しい状況になっているときや,処理している        ファイル群を別のプログラムで同時にあつかったりすると処理が異常        になることが考えられます。         このプログラムを単独で実行した場合,このような状況になること        はまず無いでしょう。      8. ファイルから取り出す日付時間情報の中から 一番古い値の日付時間        を 撮影日時データと判断し処理しています。(理論的にはそのはず)        このため編集日などが撮影時間情報よりも古い場合にはその値で処理        されます。      9. 和暦表示/曜日表示は 西暦1900年〜2100年の範囲で 正常動作するよう        プログラミングしています。このため たとえば 撮影日が 1400年だった        りすると曜日表示は 間違った値を示します。また 元号は 明治〜平成        で表示するようにしてあります。 ▲開発環境 ・プログラムは Boland C++ Builder V4.0 Professional版 で作ってあります。  ・開発マシンは PC/AT互換機(Celeron 400MHz)          Memory 256M Byte Windows XP professional                です。     Windows98/2000/XP マシン なら ほぼ動作可能と思っています。 ・プログラムのデバッグをあまり行っていないので,まだ バグが隠れているかも   知れません。 ▲謝意 ・このプログラムを 作成するにあたって 以下の方々の 資料やプログラムを参考   にさせていただきました。貴重なヒントを得ることができ大変助かりました。  ありがとうございました。 KoHA さんの KoReName Version 1.40         ( www.vector.co.jp の HomePage から DownLoad したもの )     大野 護 さんの HomePage         www.yk.rim.or.jp/~mamo/Computer/DS-7/exif.html             ( Exif ファイル形式の解析 ) Naka’さんの HomePage              home.att.ne.jp/gold/Naka/bcb/tips             ( C++ Builder Tips ) ▲最後に ・メールウェア です。 使用した感想などをメールでいただければ幸いです。   特に入手できたサンプル画像が少ないため,Fine Pix 40i 以外では   どんなものか 実のところわからないので使用した結果の情報をお願いします。 ・些細なことでも結構ですので,不都合な点や何か御意見などありましたら連絡   頂ければ幸いです。 2007年12月16日 CVL Home Page http://www2c.biglobe.ne.jp/~CVL E-mail cvl@mue.biglobe.ne.jp ============================================================================ 2007-12-16 Ver 2.03 説明文追記(プログラムは V2.02 と同じもの) 2007-12-15 Ver 2.02 撮影日付が1995年以前の場合も正常に変換できるように修正 2004-11-01 Ver 2.01 ファイル内からの秒情報取出しで1桁値がずれていた。           (Ver 2.00でのBug),タイトルに Version表示追加。 2004-10-18 Ver 2.00 和暦表示と曜日表示ができるようにしました。 2004-10-10 Ver 1.90 ファイル内から取り出した日付情報の判定に不具合があり            撮影日付でない情報で処理してしまうことがあったのを修正            又 プログラム配布方法をLHA自己解凍形式からZIP圧縮に変更            V1.8のソースをまた紛失したためV1.70から再プログラミング 2003-08-01 Ver 1.80 jpeファイルも処理出来るように修正            Exifヘッダ除去時バックアップを強制しないようにした 2002-05-19 Ver 1.70 jpgファイル以外を処理したときもjpgと変換するのを修正            ファイルタイプの選択のためのRadioボタン追加            一部規定値変更            V1.5/V1.6のソース紛失のためV1.40から再プログラミング 2001-05-27 Ver 1.60 同一日付ファイルの場合 全て rename エラーとなっていた            のを ファイル名に a〜z の文字を付け 26ファイルまでは            エラーとならないように修正 2001-05-27 Ver 1.50 .jpgファイル以外に .aviファイルも標準で処理するようにした。            また,その他のファイルも 処理できるように変更した。            日付をファイル内から得られなかったとき 処理しないを選択し            ていても処理してしまっていたのを修正 2001-05-20 Ver 1.40 日付サーチ範囲を先頭から2048Byteから 4096Byteに変更            及び YYYYMMDD_HHMMSS.jpg 形式 追加 1999-11-03 Ver 1.32 YYMMDD_現file.jpg,YYMMDD-HHMM_現file.jpg 形式 追加 1999-10-21 Ver 1.31 設定保存にディレクトリ情報を追加 1999-10-17 Ver 1.30 設定状況を保存できるようにした。(C++ Builder 4) 1998-06-28 Ver 1.20 D_HHMMSS.jpg 形式 追加 1998-06-21 Ver 1.15 bug fix (16bit の ICON を 設定していなかったのを修正) Ver 1.13〜1.14 では サンプル画像を バインドし忘れていました。 1998-06-15 Ver 1.14 tab順再設定 1998-06-15 Ver 1.13 tab順設定 1998-05-31 Ver 1.12 OpenDialog 読み取り専用ファイル CheckBox を 非表示に変更 1998-05-30 Ver 1.11 プログラム終了ボタン の ビットマップ 変更 1998-05-25 Ver 1.10 ファイルやフォルダを ICONに ドロップし起動できるようにした 1998-05-23 Ver 1.01 ドキュメント 一部変更(update版の コンパイラ使用) 1998-05-06 Ver 1.00 リリース