存储在 1D 数组中的 2D BufferedImage 颜色?
2D BufferedImage colors stored in 1D array?
BufferedImage
中的 setRGB(int, int, int, int, int[], int, int)
方法使用一维数组表示二维对象(图像的颜色)。这是如何运作的?如何使用 x/y 坐标访问这样的数组(一维数组)?
一维数组包含串联的二维图像行。
以最简单的方式,您可以将像素的偏移量计算为:x + (y * width)
.
例如图片:
.X.
XXX
X.X
可以存储为
.X.XXXX.X
在BufferedImage
中其实更难,见javadoc,数组索引计算为offset + (y-startY)*scansize + (x-startX)
BufferedImage
中的 setRGB(int, int, int, int, int[], int, int)
方法使用一维数组表示二维对象(图像的颜色)。这是如何运作的?如何使用 x/y 坐标访问这样的数组(一维数组)?
一维数组包含串联的二维图像行。
以最简单的方式,您可以将像素的偏移量计算为:x + (y * width)
.
例如图片:
.X.
XXX
X.X
可以存储为
.X.XXXX.X
在BufferedImage
中其实更难,见javadoc,数组索引计算为offset + (y-startY)*scansize + (x-startX)