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()));
}
}
「pixmap」はこのインスタンス メソッドのパラメーターであり、基本的に読み込まれる画像です。画像を反転しようとしたときに発生する実行時エラーは次のとおりです。
スレッド「AWT-EventQueue-0」での例外 java.lang.ArrayIndexOutOfBoundsException: 座標が範囲外です!
任意のヒント?ありがとう!
**編集**
コードを次のように変更しました。
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()));
}
}
}
そして、私はまだ同じ範囲外の例外を取得しています。このコードのどこで間違ったのかわかりません ^