私はJavaでBufferedImagesを使用することを学んでおり、アニメーションの各フレームが数学的にピクセルデータをいじった結果であるアニメーションを作成しようとしています。本当に遊んでるだけです。もともとインデックス付きの ColorModel を使用していましたが、(より多くの色を利用するために) 直接の ColorModel に変更しました。しかし、今ではエラーが発生します -
ラスター sun.awt.image.SunWritableRaster@29c204 は ColorModel DirectColorModel と互換性がありません: rmask=ff0000 gmask=ff00 bmask=ff amask=ff000000
BufferedImage と WriteableRaster を作成するために使用していたコードは次のとおりです。
public void initialize(){
int width = getSize().width;
int height = getSize().height;
data = new int [width * height];
DataBuffer db = new DataBufferInt(data,height * width);
WritableRaster wr = Raster.createPackedRaster(db,width,height,1,null);
image = new BufferedImage(ColorModel.getRGBdefault(),wr,false,null);
image.setRGB(0, 0, width, height, data, 0, width);
}