2013-08-07 40 views
0

只是我有一個圖像的光柵,我想做一個bufferedImage它。java從光柵創建一個緩衝圖像

Raster raster = someObject.getAsRaster(); 
BufferedImage bi = ? 

我怎樣才能使一個bufferedImage用合適colorModel使圖像正常顯示?
謝謝!

+0

您將需要一個'WritableRaster'創建'BufferedImage'更多信息,使用'新的BufferedImage(colorModel,raster,colorModel.isAlphaPremultiplied(),null)'。一個合適的ColorModel可能取決於柵格中的像素數據。它使用什麼格式/像素佈局? – haraldK

+0

我的意思是對應於光柵的兼容顏色模型,使得圖像不會改變。 –

+0

我的意思是與tiff圖像兼容的顏色模型! –

回答

0

使用構造

BufferedImage(ColorModel cm, WritableRaster raster, boolean isRasterPremultiplied, Hashtable<?,?> properties) 

如果你提供你如何讓我的光柵可以提供更多的幫助

1
Raster raster = ...; // Your raster 
ColorModel colorModel = ...; // A suitable color model (see comment section) 

WritableRaster writableRaster = raster.createCompatibleWritableRaster(); 
writableRaster.setDataElements(0, 0, raster); 
BufferedImage image = new BufferedImage(colorModel, writableRaster, colorModel.isAlphaPremultiplied(), null);