PixLab - turn90()

Я кодирую метод, который принимает изображение в классе Picture и использует его классы Pixel для управления им. Я пытаюсь повернуть изображение на 90 градусов вправо, но я получаю индекс массива за исключением границ, и я не знаю почему. Насколько я знаю, я делаю это правильно

Я написал несколько черновиков и поиграл с моим кодом, но ошибка сохраняется

public Picture turn90() 
  {
    Pixel[][] pixels = this.getPixels2D();
    int width = pixels[0].length;
    int height = pixels.length;
    Picture result = new Picture(width, height);
Pixel[][] resultPixels = result.getPixels2D();
        Pixel original = null;

        for(int xIndex = 0; xIndex < width; xIndex++)
        {
            for(int yIndex = 0; yIndex < height; yIndex++)
            {
                int modifiedX = (height - 1) - yIndex;
                int modifiedY = xIndex;
                original = pixels[xIndex][yIndex];
                resultPixels[modifiedX][modifiedY].updatePicture(original.getAlpha(), 
                pixels[xIndex][yIndex].getRed(), pixels[xIndex][yIndex].getGreen(),
                                    pixels[xIndex][yIndex].getBlue());
            }
        }
        return result;  
    }

0 ответов

Другие вопросы по тегам