Показать сообщение отдельно
Старый 18.09.2011, 17:18   #2
Romanzes
Разработчик
 
Аватар для Romanzes
 
Регистрация: 06.04.2008
Сообщений: 541
Написано 196 полезных сообщений
(для 637 пользователей)
Ответ: В чем ошибка?

Что ты с индексами намудрил? Зачем ты их в произвольном порядке расставил? Вот мой вариант:
int w = 176;
int h = 220;
int rgb[] = new int[w * h];
byte[][][] im = new byte[3][w][h];
int i = 0;
for (int y = 0; y < h; y++) {
    for (int x = 0; x < w; x++, i++) {
        im[0][x][y] = (byte) (rgb[i] >> 16 & 0xff);
        im[1][x][y] = (byte) (rgb[i] >> 8 & 0xff);
        im[2][x][y] = (byte) (rgb[i] & 0xff);
    }
}
(Offline)
 
Ответить с цитированием