画像ファイルにテキストを埋め込む(osx)

 テキストデータを渡す時,いわゆるテキストファイル,ワープロファイル,pdf等を利用するのが普通だと思いますが,これらが利用できない場合に,画像ファイルに埋め込むことがあります.exifが典型的ですが,画像ファイルには画像のみ含まれるということで良い場合だけではありませんので,画像以外に,そのサムネールやその他様々なテキストデータ,バイナリーデータを含むことができるようになっています.多くの画像表示ソフトには,そういったデータを表示する機能を持っており,一部のものでは,それらを編集できるようになっています.但し,いろいろ試してみたものの,非常に使いにくかったです.「jpg jpeg テキスト 追加 埋込」等々を用いて検索しても,なかなかヒットしなくて困りました.jhead(v2.87)は良いのですが,そのままだと1KBまでしか含むことができないようです.表示は2KBまでみたいですね.結局,jheadの作者ベージのリンクにあった,wrjpgcom,rdjpgcomが使いやすかったです.大きなファイルも挿入できました.jpegの規格ではコメントをコメントセグメント(マーカーが0xFFFE)に含める場合は64KBまで大丈夫で,さらに,規格上はそれを複数持つことも可能です.exifデータとしてのコメントもありうるのですが,jhead,wrjpgcom,rdjpgcomが扱うのはjpegのコメントセグメントです.osxにはデフォルトで含まれていました.
wrjpgcom -cfile c.txt < a.jpg > b.jpg
rdjpgcom -raw b.jpg
 私の目的にはこれで十分でしたが,より細かくいじりたい場合には,jpegoodなどを基にしていろいろ操作,解析するのも面白いかなと思いました.jpegoodの「簡単な解析」をテキスト出力するドロップレットを作ってみました.zipで圧縮したものをここに置きます.ブラウザによっては解凍された状態で届くかもしれません.OSXのセキュリティ設定によっては動かなかったり,奇妙なエラーが出たりする可能性があります.但し,jpegoodは二次配布ができないので,オリジナルサイトから「jpegood.pl」をダウンロードし,アプリ内部のスクリプト本体(main)と同じレベルに置いてください.jpgファイルをドロップすると,jpgファイルと同じ位置に,拡張子がtxtである同名ファイルに解析情報が保存され,開きます.もちろん,cpanにはいろいろありますので,それらを利用する手もあります.
 テキストはpngやgifにも埋込めます.テキストデータではなくて,テキスト情報だけで良いのなら,テキスト画像という手もありますね.画像サイズや,ファイルサイズと視認性の絡みがあるので,単純ではないかもしれませんが,1枚画像ではなくて,複数画像の方が良いこともあるでしょう.こういった場合には,GIFアニメやPNGアニメ,あるいはマルチページTIFFなどが使えます.なお,gif2apngでGIFアニメをPNGアニメに変換したところ,ファイルサイズが70%になりました.





その他研究参考情報
正面玄関
初 版:2015年11月17日
メールアドレス:nmizunoアットマークaffrc.go.jp
※このページは自由にリンクしていただいてかまいません.連絡不要.