0

これまでのところ、30x40 ピクセルの .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@44443799 [[B@5220c1b [[B@52c4d93 [[B@3eaa2c1c [[B@2b3fc0bb]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 |
.
.
.
4

1 に答える 1

0

ヒント:

あなたは正しく形成してgreenInputDataいます

問題は表示方法にあります。

ヒント: 2次元配列です

于 2012-11-01T00:28:13.977 に答える