日記

パレット表示とか [プログラム関係]

ドット絵掲示板にパレットを表示する機能をつけました。

もともと、サーバーサイドがJavaなのでいつも通りBufferedImageつかって
簡単にパレットを取得するつもりだったのですが、
GoogleAppEngineではBufferedImageを含む大部分の画像処理ライブラリを
使用できないとのことだったので、どうしようか悩むことに。

最初、クライアントのJavaAppletにBase64の画像データを渡して
パレットの計算をさせようかと思ったのですが、
アプレットはロードが長いのが嫌だなあと思ったり。
じゃあロードが若干軽いFlashでやろうかしら。それともJavaScriptで
気合いで実装しちゃおうかしら。
そんなこと考えてたんですが、とりあえずGifとPNGの簡単な仕様を読んでみたり。
すると、パレット部分はどちらも生のバイトが並んでるみたいだったので、
取り出すのは簡単だな、じゃあJavaScriptで実装しちゃおうかと考える。
とりあえずbyteとかJavaScriptいきなり扱うのはきついから
プロトタイプをJavaで作ったのですが、考え直すとこれをそのままサーバーに置けば
もともとの目的が達成できるじゃん!ということで結局パレットはサーバーで計算することに。
以上長いあらすじ。

とりあえず掲示板で使ってるいい加減な実装をおいときます。
2011061800001.java
GIF:先頭から14バイト目以降がグローバルカラーテーブル。無い場合は24バイト目以降が一つ目のローカルカラーテーブル。そのどちらかをとってくるだけ。
PNG:チャンクをたどってって最初に現れたPLTEチャンクを見つけてデータ部をとってくる。


at 2011-6-18 0:25 | Comment(0)
SunMonTue WedThuFri Sat
12 34
567 89 10 11
12 1314 1516 1718
1920 21 2223 24 25
26 2728 29 30
required 0.0203 sec