Tenho uma tela de 1024 por 768, ou seja, 786432 pixels de um byte cada um.
Estes pixels estão todos num byte array unidensional:
ponto (0,0) = pixels[0]
ponto (1,0) = pixels[1]
ponto (2,0) = pixels[2]
…
ponto(1023,767) = pixels[786431]
Eu preciso dividir a minha tela em quadradinhos de 16 x 16 o que dá 3072 quadradinhos. (3072 = 786431 / (16 x 16))
Tenho um objeto Quadradinho que encapsula um byte array bidimensional de 16 x 16 representando os pixels de um quadradinho da tela:
public class Quadradinho {
private byte [][] data = new byte[16][16];
public Qudradinho() { }
public byte get(int x, int y) {
return data[x][y];
}
public void set(int x, int y, byte b) {
data[x][y] = b;
}
}
Tudo que eu preciso é uma função que pegue meu array de pixels unidimensional e me retorna um array com 3072 Quadradinhos.
Quadradinho [] quadradinhos = divideTelaQuadradinhos(pixels);
Eu achava que era bom em matemática… 