setRGB(int, int, int, int, int[], int, int)
中的BufferedImage
方法使用1D数组来表示2D对象(图像的颜色)。这是如何运作的?如何使用x / y坐标访问这样的数组(1D)?
答案 0 :(得分:1)
1D数组包含连接的2D图像行。
以最简单的方式,您可以计算像素的偏移量:x + (y * width)
。
E.g。图像:
.X.
XXX
X.X
可以存储为
.X.XXXX.X
在BufferedImage
中实际上更加困难,请参阅javadoc,数组的索引计算为offset + (y-startY)*scansize + (x-startX)