将.bmp映像存储为Java中的位图数组



到目前为止,我有以下代码读取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数组

最新更新