写一个方法,图片中的位置信息{x,y},对图片进行90°旋转后,位置如何重新计算,使用java写一个点位转换的方法
时间: 2024-03-22 07:42:12 浏览: 14
好的,以下是一个Java方法,可以将给定的点位信息进行90度旋转后,返回新的位置信息。
```
public static int[] rotate90(int[] position, int width, int height) {
int[] newPosition = new int[2];
newPosition[0] = height - position[1] - 1;
newPosition[1] = position[0];
return newPosition;
}
```
其中,`position`参数表示原始的位置信息,是一个长度为2的整数数组,包含x和y坐标。`width`和`height`参数表示图片的宽度和高度。
该方法会返回一个新的长度为2的整数数组,包含旋转后的位置信息。具体实现方式是,将原始位置的x坐标对应到旋转后的y坐标,将原始位置的y坐标对应到旋转后的x坐标。同时,因为旋转后的图片宽度和高度会发生变化,所以需要将新的y坐标从底部开始计算,即用`height - position[1] - 1`表示。
相关问题
写一个方法,图片中的位置信息{x,y},其中x表示图片中的x轴值,y表示图片中y轴的值;对图片进行90°旋转后,位置如何重新计算x,y,使用java写一个点位转换的方法
好的,以下是一个Java方法,可以将给定的点位信息进行90度旋转后,返回新的位置信息。
```
public static int[] rotate90(int x, int y, int width, int height) {
int[] newPosition = new int[2];
newPosition[0] = height - y - 1;
newPosition[1] = x;
return newPosition;
}
```
其中,`x`和`y`参数表示原始的位置信息,分别表示图片中的x轴值和y轴值。`width`和`height`参数表示图片的宽度和高度。
该方法会返回一个新的长度为2的整数数组,包含旋转后的位置信息。具体实现方式是,将原始位置的x坐标对应到旋转后的y坐标,将原始位置的y坐标对应到旋转后的x坐标。同时,因为旋转后的图片宽度和高度会发生变化,所以需要将新的y坐标从底部开始计算,即用`height - y - 1`表示。
写一个方法,图片中的位置信息{x,y},其中x表示图片中的x轴值,y表示图片中y轴的值;对图片进行90°或者180°或者360°旋转后,位置如何重新计算x,y,使用java写一个点位转换的方法
好的,以下是一个Java方法,可以将给定的点位信息进行90度、180度或360度旋转后,返回新的位置信息。
```
public static int[] rotate(int x, int y, int width, int height, int angle) {
int[] newPosition = new int[2];
switch (angle) {
case 90:
newPosition[0] = height - y - 1;
newPosition[1] = x;
break;
case 180:
newPosition[0] = width - x - 1;
newPosition[1] = height - y - 1;
break;
case 270:
newPosition[0] = y;
newPosition[1] = width - x - 1;
break;
default:
newPosition[0] = x;
newPosition[1] = y;
break;
}
return newPosition;
}
```
其中,`x`和`y`参数表示原始的位置信息,分别表示图片中的x轴值和y轴值。`width`和`height`参数表示图片的宽度和高度。`angle`参数表示旋转的角度,可以是90、180或270度,如果是其他值,则不进行旋转。
该方法会返回一个新的长度为2的整数数组,包含旋转后的位置信息。具体实现方式是,根据旋转角度使用不同的计算公式计算新的坐标值。对于90度旋转,将原始位置的x坐标对应到旋转后的y坐标,将原始位置的y坐标对应到旋转后的x坐标,同时需要将新的y坐标从底部开始计算;对于180度旋转,将原始位置的x坐标对应到旋转后的x坐标,将原始位置的y坐标对应到旋转后的y坐标,同时需要将新的x和y坐标都从最大值开始计算;对于270度旋转,将原始位置的x坐标对应到旋转后的y坐标,将原始位置的y坐标对应到旋转后的x坐标,同时需要将新的x坐标从底部开始计算。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)