canvas中画一个Rect,canvas旋转60度之后,rect的坐标还是未旋转前的坐标,rect.contains(x,y)会判断失败 88
我需要怎么做才可以获取rect旋转后的角度呀未旋转的时候,可以使用Rect.contains(x,y)来判断一个点是否在这个rect当中,但当rect失败了之后,就不知道...
我需要怎么做才可以获取rect旋转后的角度呀
未旋转的时候,可以使用Rect.contains(x,y)来判断一个点是否在这个rect当中,但当rect失败了之后,就不知道该怎么做了 展开
未旋转的时候,可以使用Rect.contains(x,y)来判断一个点是否在这个rect当中,但当rect失败了之后,就不知道该怎么做了 展开
2个回答
展开全部
我觉得可能是楼主理解错了,这个Rect对象只是表示四个点组成的矩形而已,说白了就是储存四个点信息的一个对象。canvas画上去的时候只是用了他四个点的信息。旋转的时候跟Rect这个对象一点关系也没有。而且你看
public boolean contains(int x, int y) {
return left < right && top < bottom // check for empty first
&& x >= left && x < right && y >= top && y < bottom;
}
源码也只是判断一下你的坐标是否存在于这四个点中。
至于你要获取旋转角度,我认为你可以用一个变量就可以解决掉嘛,这个矩形毕竟是你写代码控制旋转的。不知道你看的懂不,反正我是认真回答的
public boolean contains(int x, int y) {
return left < right && top < bottom // check for empty first
&& x >= left && x < right && y >= top && y < bottom;
}
源码也只是判断一下你的坐标是否存在于这四个点中。
至于你要获取旋转角度,我认为你可以用一个变量就可以解决掉嘛,这个矩形毕竟是你写代码控制旋转的。不知道你看的懂不,反正我是认真回答的
追问
那有没有办法获取旋转之后的坐标呀,因为我感觉Rect旋转之后,他们坐标没有发生变化
追答
嗯,是的,我前面说了Rect不会跟着画布旋转的,你想获取旋转之后的rect的坐标,你需要自己用数学原理去计算了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询