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对象的坐标中减去一个。结果,它被设置为刚好在图片边界之外的像素。现在我不确定是否应该删除或保留它,因为我解决了自己的问题,但其他人也可以从中受益。