【发布时间】:2011-11-30 11:13:18
【问题描述】:
我正在尝试对在表面视图的画布上绘制的旋转图像对象进行命中测试。 当图像不旋转时,我们可以直接使用 left、top、width 和 height 作为边界来检查该点是否在图像矩形内。但是当物体旋转到某个角度时怎么办呢?
我正在使用:canvas.rotate(angle, pivotX ,pivotY); 来绘制旋转后的图像。
我无法获得图像对象的旋转左侧和顶部。我试图在图像的左侧和顶部拍摄原始图像,当我点击屏幕时,我使用相同的角度将触摸点旋转回来:
angledTouchX = (float) (eventX * Math.cos(-objectAngle) - eventY * Math.sin(-objectAngle));
angledTouchY = (float) (eventY * Math.sin(-objectAngle) + eventX * Math.cos(-objectAngle));
它不起作用,因为它旋转点 wrt (0,0),但我希望它 wrt 图像对象的中心。
【问题讨论】:
标签: android canvas drawing rotation angle