雑記帳

このページは下の方が新しい項目です。

GIMP用画像ローダー作成計画 その4

この記事へのリンク

書こうと思ってたことを書き忘れてる気がするので続きをば。

X68用画像・国産画像フォーマットを現在のMacで表示するソフトがない、と書きましたが、方法がないわけではないです。SheepShaver でMacOS9環境を作ってやればPixelCatが使えます。また X68000EMでX68000環境を構築する方法もあります。(うちではどちらもとりあえず稼働する程度にはしてあるけど今から新たに環境を作るとしたら大変かも)

ということでビューワーは稼働しないこともない。それなのになんで自分で作ろうと思ったのかというと、色関係です。

X68000は16ビットカラーで、実際はたいがいのCGが15ビットカラーなのでRGB各5ビットずつ。今のパソコンは24ビットカラー・RGB各8ビットなので、表示するには5ビットを8ビットに換算する必要があります。足りない3ビット分をどうするか。ビューワーでは0で埋めるものが多いようです。この場合、15ビットカラーでの真っ白の色を24ビットカラーに換算すると 0xFFFFFF ではなく 0xF8F8F8 になります。数字で見てもわかんないので画像で見ましょう。
白色0xFFFFFFと0xF8F8F8の違い Aが0xFFFFFFで、Bが0xF8F8F8です。左側のように離れていると差はわかりませんが、右側のように隣り合っていると違いがあるのがわかります。もっとも、パソコンのグラフィック環境によってはわからんかもというところ。はっきり言ってそんなに差はないです。ビューワーが3ビットを0で埋める処理をするのは妥当と言えるでしょう。

ただ、私の目的は「古いフォーマットの作品を今のフォーマットに移したい」ことなので、それではちと困るというか嫌なわけで。まあ、グラフィックソフトのレベル調整あたりで補正は可能なんだけど面倒くさい(グラフィックソフトに読み込ませるにはエミュレータ上でビューワーで表示させて別フォーマットで保存して、という段取りが必要なので、さらに面倒くささ倍増)。ということで、GIMP用のプラグインを書いてみようとなったわけです。

さて、こうやってPythonで展開できるんだったらJavascriptでもできるよなー、と思ったらすでに作ってる人がいました。JavaScript PIC/Pi/MAG/MAKIファイルローダー。早いしコメントも表示してくれる。いいね。

さて余談です。上の5ビットのRGB値を8ビットに換算する計算方法についてです。

まず真面目に計算する方法。変換したい数値をCとすると、これは、C × (変換先のビットの数が取りうる最大値) ÷ (変換元のビットの数が取りうる最大値) です。5ビットから8ビットなので C × 255 ÷ 31 となり、結果の値は整数である必要があるので四捨五入するなりの処理をします。

次に0で埋める場合。これはコンピューターで計算する場合は「シフト演算」を使います。C<<3 という計算式になります。2進数を3桁左へずらして足りないところは0で補うという計算です。

そしてもう一つ。「足りない桁は元の数値の上の桁を繰り返したらいいんじゃね?」という手法です。計算式は (C<<3) + (C>>2) となります。真面目に割り算するよりも計算負荷は軽いはずなので簡易計算と呼んでおきましょう。

さて、真面目に割り算して四捨五入、真面目に割り算して切り捨て、簡易計算、0で埋める、この4者の計算結果にどれくらい違いが出るか、表にしてみました。(Javascriptに計算させて表示しています)

元の数(5bit)8bitに拡張
四捨五入切り捨て簡易計算0埋め

「四捨五入」の数値と違うところに色をつけて差が大きいほど色が濃くなるようにしてます。簡易計算が意外と優秀でちょっとびっくり。

GIMP用画像ローダー作成計画 その5

この記事へのリンク

MAGローダー完成。いや、PIローダーを作ってたんですけど、わかんないので棚上げしてMAGを作ったと。

GIMPのコメント PICローダーでもコメントがあれば読み込むようにしましたが、MAGはコメント領域にセーバーがなにがしかの情報を入れているようなのでGIMPの画像コメントに読み込むようにしました。

MAGフォーマットについては「まぐろのすべて」を参考にしました。丁寧に解説してあってとても助かりました。

さて、Javascript版のMAGローダーを見つけました。HTML5 まぐろーだー HTML5対応ということで、MAGファイルをドラッグ&ドロップしてやると画像が表示されます。ブラウザからファイルを開く必要がなく、ドラッグ&ドロップで済むというのはやはり便利ですねえ。

改装開始

この記事へのリンク

模様替えを始めました。まずはこのページから。

CSSの指定で、背景画像が何枚でも指定できるようになってるので使ってみました。例えばH2(このページでは各エントリのタイトル)は3枚で、1番上は赤→透明のグラデーション、2番目は赤の紗綾形、1番下はピンクの紗綾形です。以前は1枚しか指定できなくて苦労した気がします。

改装中

この記事へのリンク

v12モックアップ ようやくトップページの制作にかかったところ。まだあちこち仮の状態です。

改装

この記事へのリンク

トップページの改装完了。最初の画像がウィンドウサイズに関わらずウィンドウいっぱいに表示、というWordpressのテーマにあるような感じで作って見ました。スクロールすると動くやつですよ。

IE8での表示画像がSVGなので対応してないブラウザ(IE8以下とか)だと残念な表示になります。まあ、そういう古いブラウザはもうほとんど使われてないっぽいので対応しないでいいかな。

改装2

この記事へのリンク

改装の続き。

キャプチャ画像(HeartRails Capture) 対応していない実例に遭遇してしまいました。 サイトのキャプチャ画像の小さいのを作ってくれるサービス、HeartRails Captureです。

この手のサービスでは、サムネイル画像が生成されるまでかなり待たされたり、いくら待っても結局画像が出てこなかったりする場合があるのですが、HeartRails Captureは、速度については特に問題なく、画像のサイズや縁・影・角丸の有無の指定が可、登録も不要で無料で使えるというなかなかいいサービスなのです。ですが、うちのサイトに関しては残念な表示です。

キャプチャするためにアクセスしてくる際のUA名は Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.17) Gecko/20110515 HeartRails_Capture/1.0.4 (+http://capture.heartrails.com/) Namoroka/3.6.17 で、このサービスのレンダリングエンジンがUA名どおりだとすると、Gecko(Firefoxのレンダリングエンジン)で、それもFirefox3.6のもの(NamorokaはFirefox3.6のコードネーム)です。かなり古いですねえ。

さて、ついでにほかのキャプチャサービスも試してみました。

キャプチャ画像(Blinky) Blinky - Web thumbnail service with Ruby and Webkit
結構早く画像を作ってくれます。大きさは4種類ありますが、いずれも正方形です。ウィンドウサイズが縦長の状態でキャプチャしたものの上の方から正方形に切り取ったように見えます。

キャプチャ画像(WordPress.com) WordPress.comの非公開APIだそうです。https://s.wordpress.com/mshots/v1/http%3A%2F%2Fexample.com%2F?w=300 という形で指定します。かなり遅い模様。結果の画像内容に関しては、今回紹介した中では一番まとも。

ナイトリーのアイコン

この記事へのリンク

ブラウザはFirefox Nightlyをメインに使ってます。このNightlyのアイコンが8月13日になって急に変わったのですよ。

青いきつね
これまでの青いきつね
ホッブス
新バージョンのトラ

このトラは、アメリカの新聞マンガ「カルビンとホッブス」のキャラクター、ホッブスとのこと。なぜこれに変わったのだろう……。(一時的なものと思うけど)

ナイトリーのアイコン2

この記事へのリンク

案の定、日替わりとまではいかないけれど数日でコロコロ変わってます。
地球のみ ➡︎ 青いきつね ➡︎ ホッブス ➡︎ フェニックス ➡︎ 旧きつね ➡︎ 写真入り

順に「以前の地球のみのアイコン」「青いきつね」「カルビンとホッブスのホッブス」「名称がPhoenix/Firebirdだった時のアイコン」「Firefoxのかなり前のアイコン」「顔がリアル(写真? 犬にしか見えないが)」。