到目前为止,我有以下代码读取30x40 Pixel .bmp文件:
public void setUp() throws IOException
{
BufferedImage image =
ImageIO.read(getClass().getResource("circle1.bmp"));
greenInputData = new byte[30][40];
for (int x = 0; x < greenInputData.length; x++)
{
for (int y = 0; y < greenInputData[x].length; y++)
{
int color = image.getRGB(x, y);
greenInputData[x][y] = (byte)(color >> 8);
}
}
System.out.println(greenInputData);
}
当我致电System.out.println(greenInputData)时,控制台现在就给了我以下内容:
[[B@1c8a1c9d[[b@1cb4ee66[[B@262580b3[[B@450A3962[[B@5D7138F4[[B@444443799[[B@5220C1B[[B@52C4D93[[B@3EAA2C1C[[B@2B3FC0BB[[B@4B8B7245[[B@2623592[[B@e689490[[B@3849CA75[[B@ebe5687[[B@671EF55C[[B@68c6fc84[[B@53DC5341
,但我希望能够看到我正在阅读的图像的阵列打印输出。例如,如果我读取一个圆圈的位图,我希望能够system.out.println()出一个30x40位图数组,如以下内容:
<---------30---------------->
000000000000000000000000000000 ^
000000111110000000000000000000 |
000001111111100000000000000000 |
000011111111110000000000000000 |
000011111111110000000000000000 40
000001111111100000000000000000 |
000000011110000000000000000000 |
000000000000000000000000000000 |
000000000000000000000000000000 |
.
.
.
提示:
您正在形成greenInputData
右
问题是您显示它的方式。
提示:它是2D数组