如何绘制旋转的矩形

时间:2014-05-05 17:36:05

标签: java android graphics

http://i.stack.imgur.com/JQGTE.png

任何人都可以共享代码如何绘制这样的矩形吗? (不是垂直的,不是水平的,介于两者之间) 因为我看到你只能指定4 int来运行DrawRect(),而不是4点。

矩形区域必须对触摸敏感(我使用Contains()方法)

我试过,Matrix和Rotate()只更新图形,矩形区域保持不变

3 个答案:

答案 0 :(得分:1)

在转换为@fortran建议后,您可以使用其中一个Matrix.mapPoints重载来找出矩形的新角落。您可能需要找到一些花哨的数学并自己进行测试。可能更容易在用于绘制矩形的变换的inverse上调用Matrix.mapPoints(),传递触摸的坐标,然后在原始矩形上进行测试。

答案 1 :(得分:0)

答案 2 :(得分:0)

我找到了解决方案 - 最简单的方法是使用Path类,通过点创建一个自由转动的矩形,然后创建一个区域方法,其中包含函数Contains()

不需要数学和努力工作,非常简单。