JPEGファイルにEXIFで作者名を埋め込む方法とは?

このQ&Aのポイント
  • JPEGファイルにEXIF(Exchangeable Image File Format)を利用して作者名を埋め込む方法について調査しました。
  • ランダムアクセスを使用してバイナリファイルに作者名を挿入する手順を提案しています。
  • 他にもRandomAccessFileやChannel、Image I/Oを使った方法も紹介されています。
回答を見る
  • ベストアンサー

JPEGファイルにEXIFで作者名を埋め込むには

JPEGファイルにEXIFで作者名を埋め込もうと思っています。 EXIFのデータ構造に関しては調べたのでバイナリファイルにランダムアクセスし、データ挿入する方法を考えています。 image.jpgをFileInputStreamで読み、image.jpg.tmpに書き出していく EXIFタグが見つかったら、挿入したいデータを書き出す。 残りのデータを書き出す。 image.jpgを削除する。 image.jpg.tmp を image.jpg にリネームする。 処理の手順としてこのように考えていますが、妥当でしょうか? RandomAccessFileやChannelを使う方法、 Image I/Oを使う方法などありましたらお教えください。

  • Java
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • _ranco_
  • ベストアンサー率58% (126/214)
回答No.1

たった一箇所一回限りの挿入処理なら、それで十分と思います。 ファイルの全内容に対して複雑な処理をするときは、MappedByteBufferを便利に使えます。RandomAccessFileは定型レコードの集合を扱うのに適していて、フリーな挿入処理などはやりにくいです。

thamansa
質問者

お礼

MappedByteBufferクラスは知りませんでした。調べてみます。 RandomAccessFileは定型レコード向けとのことですね。 ご回答ありがとうございました。

関連するQ&A

  • 【C言語】JPEGのEXIF情報を書き出す方法

    どなたかJPEGのEXIF情報(例えばGPS情報)を表示する方法を教えて頂けないでしょうか? 言語はC言語で、環境はVisual C++ 2010 Express Editionを使っています。 今考えているやり方としては、 1、JPEGをバイナリデータで読み込む。 2、バイナリデータからEXIF情報を読み込む。 と思っているのですが、2番が特に分からない状況です。 ただこのやり方自体が間違っていましたら、他の方法を教えていただけますと幸いです。 宜しくお願いいたします。

  • バッチファイル フォルダ名をファイル名に置き換える

    ある複数フォルダに格納されているファイルを、フォルダ名に リネームするバッチファイルを作成したいです。 ●リネーム前 C:\リネーム\あいうえお\data.txt C:\リネーム\かきくけこ\data.txt C:\リネーム\さしすせそ\data1.txt C:\リネーム\さしすせそ\data2.txt C:\リネーム\たちつてと\data1.log C:\リネーム\たちつてと\data2.log C:\リネーム\なにぬねの\data.log ↓ ●リネーム後 C:\リネーム\あいうえお\あいうえお.txt C:\リネーム\かきくけこ\かきくけこ.txt C:\リネーム\さしすせそ\さしすせそ 1.txt C:\リネーム\さしすせそ\さしすせそ 2.txt C:\リネーム\たちつてと\たちつてと 1.log C:\リネーム\たちつてと\たちつてと 2.log C:\リネーム\なにぬねの\なにぬねの.log 知識がなく申し訳ありませんが、お助け願います。。 pause cd c:\リネーム dir /s /b C:\リネーム\ > file.tmp for /f "delims=" %%F in (file.tmp) do ( for /f "delims=\ tokens=3" %%D in ("%%F") do ( REN %%F C:\リネーム\%%D\%%D%%~xF )) del file.tmp pause どうもうまくいきません。。。

  • JPEGで更新日時を変えずにEXIFデータを変えられる?

    デジカメのデータを整理しようとして、 JPEGのEXIFデータにキーワードを入れていこうと考えていますが、 (ADOBE BRIDGEを使っています)キーワードを変えると、 ファイルの更新日時も元から変わってしまいます。 更新日時を変えずにEXIFデータを入力していく方法は 何かないでしょうか? (BRIDGE以外のソフトでもかまいません)

  • デジカメ画像管理ソフトでリネーム、画像劣化する?

    フリーの画像管理ソフトで、リネーム機能で今までの「IMG_2277.jpg」「Image005.jpg」とか意味のないファイル名を一括でexif情報の撮影日時でリネームしようと思っています。 1.リネームしてできたファイルは名前だけ変更で、ファイル自体はコピーなので画像の質は落ちないと思うのですが正しいでしょうか? 2.お勧めのフリーソフトがあれば教えてください。私が調べたところ、F6 ExifやPhotoStagePro、FileRenamer2000などがよさそうな気がします。ソフトの特徴、いいところ、悪いところなどがありましたらお願いします。

  • Exif情報の撮影日時をファイル名に一括リネームするソフトはありませんか?

    有料無料を問わずにこういったソフトがないかを探しています。 もしご存じであれば、教えて下さい。 デジカメの画像情報としてはExif情報がありますが、ここの原画像データ作成に日時あるいは撮影日時という項目があります。 この年・月・日・時刻の情報をファイル名にして大量の写真をリネームするソフトを探しています。

  • ファイルメーカーで効率の良い画像の取り込み方

    win2000/ファイルメーカーpro6を使い、商品データベースを作っています。 1、3000ほどある商品のjpg画像を各レコードに取り込みたいと思っています。1個1個手作業で、「ピクチャを挿入」していくのは面倒なため、何か効率よく一挙に取り込める方法はないでしょうか。 2、「ファイルの参照データのみ保存」のほうが軽くなると聞きました。もしそうしなかった場合、取り込んだ画像ファイルというのはどこに保存されるのでしょうか?単にfp5ファイルが膨れ上がるだけ? 3、jpgの「ピクチャを挿入」しようとすると、拡張子がjpgだと選択できるのですが、jpegとなっているファイルは一覧に表示されず選択できません。この場合、jpeg→jpgにリネームするしかないでしょうか。 以上、よろしくお願いいたします。

  • ファイルアップローダーで送信するファイルを保存する際にファイル名に自動でURLパラメーターを入れ込む方法を教えてください。

    phpの超初心者です。 phpでファイルをブラウザ上でアップロードするシステム でかつ、 アップロード用のURLにhttp://www.hogehoge.com/up.php?no=1234などのパラメーターを付けてアップロードするファイルを「1234.jpg」という名前で保存するものが必要になり色々調べました。 以下の方法だとアップロードしたファイル名が「.jpg」になってしまいます。 $count_fileに単純な文字列、'image'などを入れるとちゃんと「image.jpg」としてアップロードできます。 <form action="<?= $_SERVER["PHP_SELF"]; ?>" method="post" enctype="multipart/form-data"> <p><input type="file" name="data" /> <input type="submit" value="アップロード"></p> </form> <?php $updir = "./data"; $tmp_file = @$_FILES['data']['tmp_name']; $count_file = $_GET['no']; @list($file_name,$file_type) = explode(".",@$_FILES['data']['name']); $copy_file = $count_file . "." . $file_type; move_uploaded_file($tmp_file,"$updir/$copy_file"); ?> パラメーターなどの環境変数をファイル名に入れ込むにはどうしたらよいのでしょうか?調べ方が悪いのか、検索しまくってもわからなくて困っています。 どなたかご教授いただけませんでしょうか?

    • ベストアンサー
    • PHP
  • 画像fileにExif情報を埋め込む方法は?

    デジカメで撮影した画像には今や,当然のように埋め込まれているExif情報は,大変便利だと思います。 私は,長年フィルムカメラを使っていて,撮影フィルムはフィルムスキャナーで画像File化して管理/加工等しています。 この画像Fileに,レンズ名,絞り,シャッター速度,フィルム名などの撮影データを,Exif情報として埋め込めれば非常にFile管理がしやすくなり,また画像データベースとしても便利だと考えています。 前置きが長くなりました。そこで質問です。 このように,デジカメ撮影でない画像FileにExif情報を付加する方法やソフト(業務用でなく)などはないのでしょうか? できればデータ項目名をカスタマイズ/追加等の編集もできればBESTです。

  • ファイル名のフォーマットを揃えたい。

    ファイル a0.jpg a1.jpg … a44.jpgというファイルがあります。 これだと、アプリによっては、 a0,a1,a10,a11,a2という風に並んで、順番通りに並んでくれません。 そこて、番号の部分の桁を揃え、 a0.jpg~a9.jpgをa00.jpg ~a09.jpg に変更したいのです。 簡単に変更する方法はありますか。 プログラムを組めばできるが面倒。できればそれ以外の方法でお願いします。 (リネームでも別フォルダにコピーでも構いません) また、数字部分を3桁にする方法もお願いします。(増える可能性があるので)

  • リネーム中にファイルを失ったのですが

    このカテでいいのか分かりませんが。。。 写真データのリネーム中に上書きにした後リネームが失敗してしまい(理由は分かりません) リネーム中のデータが消えてしまいました。 検索をかけるとjpgアイコンではなくIEアイコンで 探しては来るのですがやっぱり開けません。 これはただの痕跡だと教えてもらったのですが 何とかして見れるようにはならないのでしょうか? IE上で見れたらjpgファイル保存し直したいのですが。。。 リーネームの際使用したのはFlexible Renameです。 よろしくおねがいします!!

専門家に質問してみよう