在int中将int数组转换为bufferedImage

时间:2012-12-29 14:10:24

标签: java arrays bufferedimage fisheye

我想知道如何将java中的int数组构造成缓冲图像。我知道你可以通过

在java中获取一个int数组
int[] srcpixels = ((DataBufferInt)in.getRaster().getDataBuffer()).getData();

但我不知道如何以另一种方式做到这一点。我需要这个将fisheye效果应用于缓冲图像,我在这里找到了如何做http://popscan.blogspot.com/2012/04/fisheye-lens-equation-simple-fisheye.html但它只适用于int数组。请帮助,谢谢。

1 个答案:

答案 0 :(得分:2)

使用WritableRaster:

final int w = bitmap.getWidth();
final int h = bitmap.getHeight();

final WritableRaster wr = bitmap.getData();
int []data = wr.getPixels(0, 0, w, h, data);

// do processing here

wr.setPixels(0, 0, w, h, data);