我正在學習在java中使用BufferedImages,並試圖創建一個動畫,其中動畫的每一幀都是數學上擺弄像素數據的結果。我只是在玩耍而已。最初我使用了一個索引的ColorModel,但我已經將它改變(以利用更多的顏色)到一個直接的ColorModel。但現在一個錯誤影響了說 -使用BufferedImages創建WritableRaster時,如何確保它與特定的ColorModel兼容?
光柵[email protected]是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);
}