そろそろこのサイトも脱GIF化に力を入れていきたいところ
試しにPNGでタイトルロゴを作ることに
これを機にPNGの構造を勉強して自分のアプリケーションでも作れるようになったら良いなぁ…とか思いつつ
とりあえず画像の塑像をある程度仕上げてからThanks for ミケネコ研究所PNG構造解析プログラムとバイナリエディタの助力によって画像を作り上げてゆく
具体的にやった作業はパレットの加工とパレットのアルファチャンネルの追加
PNGのパレットやアルファ値のデータ自体は圧縮はなされていないので編集は簡単, ひたすら16進を直打ちするのです
目的にあったエディタが無い場合は自分で作るのがISたるもの, バイナリエディタもPNGエディタなのです(爆謎)
で, チャンクの体裁をある程度整え終わる
この時点でXPの画像とFAXビューアではしっかりと要求する画像が表示されるのである
元の画像がパレット決め打ちにした後にもとはグレイスケールBMPだったのをImageMagickのconvertでグレイスケールPNGに変換したものグレースケール化したPNGだったのに, パレットに基づいて色がついているんです
こんなことに微妙に興奮を覚えたり…
だが, 事態はそう簡単には終わらなかった
以下ちょっと緊急お知らせ
今日の読売1面に今日飛廉嬢に『エロゲーっぽい』と一蹴されたあの画像でYs VIの広告があった
一体何をやっているのだろう, あの会社は…
とりあえずこちらは某所に対抗してたまちゃん(アザラシに非ず)にお祈りしてみよう
で, 話を元に戻す
IEに突っ込んでみても上手く表示されない
ミケネコ研究所のアナライザでは異常は検出されなかった何故なのか分からず, 微妙にフォーマットが違うのかと思いながら再度データ構造を解析, 日本語版のRFCまで呼んでみるとデータの各チャンクにはCRCというデータエラーというより検出訂正用の4バイトの符号が最後についていて, 此処がおかしいので画像が壊れた扱いになっているということらしい
RFCの付録にANSI Cでの計算表をLazy Evaluationで作成している…CRC計算プログラムが載っていたのでそれを使ってCRCを再計算, この時点で既にPNGエディタ(結局殆ど使用せず), ImageMagickのためのVMwareのLinux, VMやWebサーバに繋ぐためのSSH, Explorer, 画像とFAXビューア, IE, …無数のアプリケーションがタスクバーに…
阿鼻叫喚一歩前のようなデスクトップで何とか作業を進めていくのであった
何だかいちどメモリリークをやっちゃったからだろうか…VCが不調でファイルの読み込みが途中で止まったりとかの嫌な事態を何とか乗り越えてCRCを書き終わる
それをIEで見ると噂されていたとおりアルファ値を0%と100%にバイナリ化して表示するバグが表面化, それだけなら良いが, 流石に少しでも透明度が入っているのを全て100%透過にするのは何かと, せめてその逆ならいいのに…
IE以外のビューアは全て完全に正常に表示しているのに…
仕方がないのでこのままタイトル化するかどうか悩み中
本当にどうしよう…
とりあえずこのファイル, 比較的まともなやつ, Win xpの画像とFAXビューアやInageMagickのdisplayコマンドとかビューアで見たときとエディタで見たときの内容が全然違うというトリッキーな代物に仕上がっています
面白いのでしばらく此処に晒してみます
Comments (0):