Я пытаюсь перевернуть изображение в java, но у меня возникла проблема, которую я просто не могу понять.Перевернув изображение в java
Используя двойной цикл for, я просматриваю все пиксельные значения в изображении org и копируя их в новое изображение в пикселе (width-x-1, y).
На следующем рисунке изображено, что происходит, когда я запускаю метод.
Новое изображение, кажется, только пробежать 1/10 высоты изображения»по какой-то причине. Почему это и как я могу это исправить?
private Image img;
private Pixel pixel;
private Image newimg;
private Pixel newpixel;
public advancedFilters(Image img)
{
this.img = img;
}
public Image Mirror(){
newimg = new Image(img.getWidth(), img.getHeight(), "newimage");
int curtone;
for (int j=0; j<img.getHeight(); j++) {
for (int i=0; i<img.getWidth(); i++) {
pixel = img.getPixel(i,j);
curtone = pixel.getValue();
newpixel = newimg.getPixel(newimg.getWidth()-i-1, j);
newpixel.setValue(curtone);
}
}
return newimg;
}
Вы уверены, что 'img.getHeight()' возвращает правильную высоту? – crea1
Что такое изображение? Это не может быть java.awt.Image, поскольку он использует этот конструктор. –
Его .jpg, а yeah - img.getHeight() возвращает высоту, как и должно было –