来自IntBuffer Java的图片

时间:2012-12-29 19:12:37

标签: java image

我在IntBuffer中拥有图像的RGB数据,并希望通过绘画将其显示在JPanel上。最有效的方法是什么?

修改

我目前通过以下代码将数据绘制到BufferedImage,但想知道是否存在更快的方法:

Raster raster= image.getData();
intBuffer.get( ((DataBufferInt) raster.getDataBuffer()).getData() );
image.setData(raster);

1 个答案:

答案 0 :(得分:2)

BufferedImage image = new BufferedImage(800, 600, BufferedImage.TYPE_INT_RGB);
int[] rgb = ((DataBufferInt)image.getRaster().getDataBuffer()).getData();

然后只需将IntBuffer的内容复制到rgb数组中并绘制BufferedImage。对阵列的任何更改都将直接更改图像。当然,图像需要具有正确的尺寸。