得到Row&图像中像素的列

时间:2015-05-28 13:56:02

标签: java multidimensional-array pixels

我是Java的初学者和地理信息学专业的学生。我正在使用IntelliJ。

我有一个像素数组,用BufferedImage创建一个图像(效果很好)。

private byte[] pixels;
private int totBytes;
totBytes = numDataBytesOfAChannelPing * frequencyList.get( selectFrequency ).getSize();
pixels = new byte[totBytes];
BufferedImage image1 = createBufferedImage( pixels, totBytes, numChans, bytesPerSample, width, height );

我想在多维数组中使用每个像素的行和列等坐标,我不知道该怎么做。我试试:

编辑:

int w = 0, h = 0;
int[][] tableauMulti = new int[w][h];
for ( byte pixelSanscCoordonnees : pixels )
{
    int i = pixels[0];
    int j = pixels[0];
    tableauMulti = new int [i][j];
}

我试试,但它不能很好地运作。有了这个图像的所有像素(129 000 000像素)在foreach循环中同时使用..我不知道如何构建我的foreach循环

谢谢

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找的是BufferedImage.getRGB(int x, int y)。您还可以使用BufferedImage.getRGB(int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize)一次获得多个像素。

有了这个,你实际上不必自己创建/存储数组,你可以直接从BufferedImage获取信息。

Java2s有一些很棒的教程。 Here's one用于获取/设置BufferedImage中的像素。