Перебор координат изображения работает только тогда, когда я изменяю x и y - PullRequest
0 голосов
/ 27 января 2019

При переборе моего BufferedImage в Java я обычно использовал бы цикл for, подобный этому:

for(int x = 0; x < width; x++) { for(int y = 0; y < height; y++) {

По какой-то причине это не работает.Однако при использовании цикла for, подобного следующему:

    for(int x = 0; x < height; x++) {
        for(int y = 0; y < width; y++) {

, он работает как шарм.Я все еще использую x и y, как и в верхнем цикле (bufferedImage.getRGB (x, y)), даже если они включены.ПОЧЕМУ?!

РЕДАКТИРОВАТЬ: я получаю ширину и высоту, как это:

final int width = bufferedImage.getWidth();
final int height = bufferedImage.getHeight();

2-е РЕДАКТИРОВАНИЕ: Я не работаю, я имею в виду значения RGB не совпадают с фактическими.Моя картинка содержит только такие значения, как (0, 255, 0) / (255, 0, 0) / (0, 0, 255), и это говорит мне (255, 255, 255) и тому подобное.Кроме того, я получаю значения, даже если он прозрачен в этой точке.

3-е РЕДАКТИРОВАНИЕ: Для всех, у кого есть подобные проблемы:

- переключение x и y на самом деле ничего не делает (в моем случаепотому что у меня есть изображение 12x12)

- цвета, подобные (255, 255, 255), появляются, когда изображение прозрачно в этой точке.ИДК почему

1 Ответ

0 голосов
/ 27 января 2019

Значение «x» здесь - это линия x на вашем изображении, а «y» - это столбец y на вашем изображении, потому что вы манипулируете пикселями.Таким образом, х идет от 0 до высоты, а у от 0 до ширины.

...