日記

Javaで256色画像のパレットを取得 [プログラム関係]

タイトルのままです。 学校のチーム演習の内部で使うプログラムで必要なのでちょっと調べて実装してみました。

BufferedImage img = ImageIO.read(new File(fname));
int[] rgbs = new int[256];

if(img.getType() == BufferedImage.TYPE_BYTE_INDEXED)
{
    IndexColorModel icm = (IndexColorModel) img.getColorModel();
    icm.getRGBs(rgbs);
}

↑でrgbsにパレットの色が入ります。
Javaの標準ライブラリのおかげで楽ちん。

あと256画像の各ピクセルの参照するインデックス番号を取得したいのですが、
ざっと調べた感じだと見つかりません。
まあ最悪パレットから逆引けばいいんですが、パレットに同じ色があると対応できないのが問題。


at 2009-10-2 0:24 | Comment(0)
名前: 削除パス: 非公開
URL:
添付:(jpg,gif,png,200KBまで)

 
required 0.0388 sec