java从光栅创建缓冲区图像

java从光栅创建缓冲区图像,java,image,bufferedimage,raster,Java,Image,Bufferedimage,Raster,简单地说,我有一个图像光栅,我想制作一个bufferedImage Raster raster = someObject.getAsRaster(); BufferedImage bi = ? 如何使用合适的colorModel制作buffereImage,以便正确显示图像? 谢谢 使用构造函数 BufferedImage(ColorModel cm, WritableRaster raster, boolean isRasterPremultiplied, Hashtable<?,?&

简单地说,我有一个图像光栅,我想制作一个
bufferedImage

Raster raster = someObject.getAsRaster();
BufferedImage bi = ?
如何使用合适的
colorModel
制作
buffereImage
,以便正确显示图像?
谢谢

使用构造函数

BufferedImage(ColorModel cm, WritableRaster raster, boolean isRasterPremultiplied, Hashtable<?,?> properties) 
buffereImage(ColorModel cm、可写光栅、布尔ISMaster预乘、哈希表属性)

如果您提供有关如何获取光栅的更多信息,我会更有帮助

您将需要一个
可写光栅
来创建
缓冲图像
,使用
新的缓冲图像(colorModel,raster,colorModel.isAlphaPremultiplied(),null)
。合适的
颜色模型可能是什么取决于光栅中的像素数据。它使用什么格式/像素布局?我指的是与光栅相对应的兼容颜色模型,这样图像就不会改变。我指的是与tiff图像兼容的颜色模型!几乎所有颜色模型都与TIFF兼容。。你的光栅像什么?它使用什么样的示例模型?什么是转移类型?有多少颜色成分?它有阿尔法吗?
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);