PNG を編集したい
昨日 (
2004年11月04日) の続きで,アイコン画面の作成を模索。
どうやっても,僕の描いたアイコンは“不明なファイル”扱いになるので,ネットからダウンロードしてきた,アイコンと認識される画像と比較してみる。
僕の A5407CA は A5403CA と一緒だと思っていたのだが,違うみたい。
いろいろと,PNG のフォーマットを勉強してしまう。
tEXt チャンクをこんな感じにエディットしたら見事認識した。
00000020: 7100 0000 1b74 4558 7444 6573 6372 6970 q....tEXtDescrip
00000030: 7469 6f6e 002d 4943 4e41 3534 3037 4341 tion.-ICNA5407CA
00000040: 2d61 3032 4269 4872 0000 2000 4944 4154 -a02BiHr.. .IDAT
毎回バイナリエディタ (
Emacs で M-x hexl-find-file なんだけどね) で編集するにはメンドー過ぎる作業。
そんでもってデータサイズに制限があるようで,バリバリに作成したファイルが容量がでか過ぎると言って読み込んでくれない始末。
色数を落として,そんでもってチャンクも修正してくれるツールを作ろうかと PNG ライブラリを探す旅に出る。
// libpng の存在は知っていたのだが,できる事なら
Java で書きたいと…。
PNG を読むクラスはいくつか見つけたのだが,生成できるクラス…,chunk を set できるライブラリは見つけられず。
ん〜,プライベートでは libpng は使いたくない…,というか C を書きたくないなぁ。
もろに仕事とカブってしまう…。
// ん〜,職場でちょろっと make してしまおうか…。