Java 如何在从左下角到右上角的对角线上反射阵列?

Java 如何在从左下角到右上角的对角线上反射阵列?,java,Java,好的,我知道从左上角到右下角的对角线很容易反射过来,你只要通过翻转坐标变换数组。现在我有一个任务,要我把一个图片对象反射到对角线上。这很容易,大部分我都明白了,但是我得到一个错误,我的坐标超出了范围 for (int i=0; i<v.getWidth(); i++) { for (int j = 0; j < v.getHeight() - i; j++) { Pixel pixel = v.getPixel(i, j

好的,我知道从左上角到右下角的对角线很容易反射过来,你只要通过翻转坐标变换数组。现在我有一个任务,要我把一个图片对象反射到对角线上。这很容易,大部分我都明白了,但是我得到一个错误,我的坐标超出了范围

for (int i=0; i<v.getWidth(); i++)
    {
        for (int j = 0; j < v.getHeight() - i; j++)
        {
            Pixel pixel = v.getPixel(i, j);
            Pixel reflectPixel = v.getPixel(v.getWidth() - j,v.getHeight() - i);
            int amountRed = pixel.getRed();
            int amountBlue = pixel.getBlue();
            int amountGreen = pixel.getGreen();
            reflectPixel.setBlue(amountBlue);
            reflectPixel.setRed(amountRed);
            reflectPixel.setGreen(amountGreen);
        }
    }

对于(int i=0;i我计算出来了,我忘记了从reflectPixel对象的坐标中减去一个。结果,它被设置为刚好在图片边界之外的像素。

现在我不确定是否应该删除或保留它,因为我解决了自己的问题,但其他人也可以从中受益。