#java #image-processing #multidimensional-array #rgb #pixel
#java #обработка изображений #многомерный массив #rgb #пиксель
Вопрос:
Есть ли способ сохранить цвет пикселя в строке и столбце изображения в 2D-массиве.
В настоящее время у меня есть это
for (int i = 0; i < h; i ) {
for (int j = 0; j < w; j ) {
int c = image1.getRGB(i, j);
}
}
Но то, что я хочу сделать, это чтобы c было похоже на c [I] [j], но getRGB не работает с массивами.
Ответ №1:
Уверен, что это работает.
int[][] c = new int[w][h]
for (int i = 0; i < w; i ) {
for (int j = 0; j < h; j ) {
c[i][j] = image1.getRGB(i, j);
}
}
Также не забудьте переключить высоту и ширину. Ширина должна быть внешним циклом, а высота — внутренним.
Комментарии:
1. @Sherin из документации «Может быть вызвано исключение ArrayOutOfBoundsException, если область не находится в границах. Однако явная проверка границ не гарантируется.» Итак, вы пытаетесь получить доступ к пикселям, которые даже не являются частью изображения
2. При использовании
image1.getRGB(i, j);
я получаюjava.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds!
ошибку, но при использованииimage1.getRGB(j, i);
ошибки нет. Почему это?