我是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 );
我想在一个多维数组的坐标,如行和列的每个像素,我不知道怎么做。I try:
编辑:
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循环
Thank you
我想你要找的是buffereimage。你也可以用buffereimage一次获得很多像素。gettrgb (int startX, int startty, int w, int h, int[] rgarray, int offset, int scansize).
这样你就不需要自己创建/存储数组了,你可以直接从BufferedImage获取信息。
Java2s有一些很棒的教程。下面是一个获取/设置buffereimage像素的例子