拙作編集ツールスクリーンショット

結局自分で作ってみた。exerb で EXE 化しようと思ったら mswin32 版の Ruby では zlib が原因不明の SEGV で落ちるのでどうしたものかと。

Ruby + VisualuRuby で GUI 作った。iTXt 以外は TweakPNG があるので何もしない。UI は見ての通り TweakPNG のパクり。

pngtxt.rb
GUI 部分。VisualuRuby 使ってます。何故かポップアップメニューが右ダブルクリックじゃないと出ない謎。
png.rb
iTXt を編集するのに使える部分だけ実装。ただ UTF-8 への変換はこのクラスはやらない。

使っているライブラリは Uconv と zlib と VisualuRuby かな。VisualuRuby が Win32API 使ってるか。といいますかですね、GUI まですぐ作れる Ruby ってやっぱ偉大なんですよ。

zlib.dll を変えていったら(?)直った。よく分からないけどめでたし。

  1. トップ
  2. soft
  3. PNG チャンク編集ツール 2Edit PNG iTXt chunk

とりあえず iTXt への書き込み/読み込み方法はできたので実際にどうやって埋め込むかを考える。考えるっていっても、メタデータを埋め込んでいる PNG ファイルというと RDF のアイコンが既にあるのでそいつをそのまま真似ればいいかなと。

この埋め込み方法は二つのチャンクを使う。一つはメディアタイプを明確にする Metadata Type チャンク。もう一つは実際にデータを埋め込む Metadata チャンク。RDF アイコンではこれらは tEXt チャンクに入っているけど、日本語を (というか国際化のために) 使うのでどちらも iTXt に入れる。Metadata Type (ASCII しか使われないっぽい) も iTXt にするのは tEXt, zTXt チャンクが iTXt 登場のおかげで既に古くさい感じが漂うから。

ってか実際何を埋め込んで何をしたら面白いかをちゃんと考えてない。まだあくまでこういう方法もできるという保険みたいなもん。何かいいことできないかな。

  1. トップ
  2. web
  3. PNG への RDF メタデータ埋め込み
  1. トップ
  2. sw
  3. PNG への RDF メタデータ埋め込み