2D BufferedImage颜色存储在一维数组中?

时间:2015-01-26 23:09:05

标签: java arrays multidimensional-array bufferedimage

setRGB(int, int, int, int, int[], int, int)中的BufferedImage方法使用1D数组来表示2D对象(图像的颜色)。这是如何运作的?如何使用x / y坐标访问这样的数组(1D)?

1 个答案:

答案 0 :(得分:1)

1D数组包含连接的2D图像行。 以最简单的方式,您可以计算像素的偏移量:x + (y * width)

E.g。图像:

.X.
XXX
X.X

可以存储为

.X.XXXX.X

BufferedImage中实际上更加困难,请参阅javadoc,数组的索引计算为offset + (y-startY)*scansize + (x-startX)