Я пытаюсь вертикально отразить pixmap, который у меня есть на Java; вот мой код:Вертикальное зеркальное отображение изображения в Java
Dimension coords = pixmap.getSize();
for (int x = 0; x < coords.width; x++) {
for (int y = 0; y < coords.height; y++) {
Color newest = pixmap.getColor(-x, y);
pixmap.setColor(x, y,
new Color(newest.getRed(),
newest.getGreen(),
newest.getBlue()));
}
}
«пиксельный» является параметром этого метода экземпляра, и это по существу образ, который загружен. Вот ошибка времени я получаю, когда я пытаюсь перевернуть изображение:
Исключение в потоке «АВТ-EventQueue-0» java.lang.ArrayIndexOutOfBoundsException: координата вне границ!
Любые советы? Благодаря!
** EDIT **
Я изменил код так:
Dimension coords = pixmap.getSize();
for (int x = 0; x < coords.width; x++) {
for (int y = 0; y < coords.height; y++) {
Color newest = pixmap.getColor(x, y);
if (x < coords.width/2) {
pixmap.setColor(((((coords.width/2) - x) * 2) + x), y,
new Color(newest.getRed(),
newest.getGreen(),
newest.getBlue()));
} else {
pixmap.setColor((x - (((x - (coords.width/2)) * 2))), y,
new Color(newest.getRed(),
newest.getGreen(),
newest.getBlue()));
}
}
}
и я все еще получаю то же самое из-за исключения ограничивающей; не знаю, где я ошибся на этом фрагменте кода.
Итак, '-100' находится в пределах изображения как? – MadProgrammer
@MadProgrammer О, ничего себе не думал об этом, я просто думал о координатах и просто пытался перевернуть его по оси Y. Любые советы о том, как я могу это сделать, учитывая все значения x от 0 до coords.width, являются положительными? – Rohan
'coords.width - x'? Но вы только хотите сделать половину ширины. Помните, вам нужно поменять пиксели – MadProgrammer