くだすれJava(超初心者用)
■ このスレッドは過去ログ倉庫に格納されています
0380デフォルトの名無しさん
2006/09/15(金) 11:48:20ColorConvertOpを使ってフルカラーをインデックスカラーに変換したいのですが、
以下のようなソースだと、あらかじめパレットを用意しておく必要がでてきてしまいます。
パレットを自動的に最適化してくれるような方法はないでしょうか?
//パレット
byte[] rs = {-1, 127, 0, 0};
byte[] gs = {-1, 0, 127, 0};
byte[] bs = {-1, 0, 0, 127};
IndexColorModel colormodel = new IndexColorModel(2, 4, rs, gs, bs);
//一時的に使うイメージ
BufferedImage tmpimg = new BufferedImage(
orgimg.getWidth(), orgimg.getHeight(), BufferedImage.TYPE_BYTE_BINARY, colormodel);
//変換
ColorConvertOp colconvop = new ColorConvertOp(null);
colconvop.filter(orgimg, tmpimg);
orgimg = tmpimg;
また、パレットを作成するときにbyte配列を取りますが、
Javaではbyteは-128から127なので、128以上は表現上マイナスになってしまいます。
これは仕様なのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています