Java 如何在1D像素阵列中旋转图片而不变形?

Java 如何在1D像素阵列中旋转图片而不变形?,java,arrays,rotation,game-engine,pixel,Java,Arrays,Rotation,Game Engine,Pixel,事实上,我昨天问了这个问题,但这不是一个真正的解释问题 我正在开发自己的游戏引擎,我需要一种可以旋转图片的方法,但我的方法是将其变形如下: 我需要这样的东西: (不在乎色差,这不重要) 这是通缉代码: public int[] rotate(int[] pixels, int origoX, int origoY, double angle){ int[] result; //get the array of pixels //rotate it with

事实上,我昨天问了这个问题,但这不是一个真正的解释问题

我正在开发自己的游戏引擎,我需要一种可以旋转图片的方法,但我的方法是将其变形如下:

我需要这样的东西:

(不在乎色差,这不重要)

这是通缉代码:

public int[] rotate(int[] pixels, int origoX, int origoY, double angle){
      int[] result;
      //get the array of pixels 
      //rotate it with angle
      /*origoX,origoY are the center of the rotation, but it really isn't                   
      important it's just comfort*/        
      return result;
}
我知道有一个Java Graphics2D类可以像这样旋转图片,但是在旋转之后,我无法恢复我的像素阵列


我相信这是一个令人满意的解释。如果没有,请在评论中询问。

是否在1D中旋转?我不能只想到镜像。。。或者你应该解释一下(2D)像素是如何在1D数组中组织的(就像每16个值是一行左右)。这是一个1D数组,每个元素都是十六进制的颜色:例如0xff112233。它被一行接一行地放置在数组中。您可以获得x,y像素样像素[x+y*宽度]