如果画布旋转了,Canvas.getClipBounds()会返回什么?

3
我有一个简单的问题,一直让我思考了几个小时。
假设有一个画布被旋转了特定(已知)角度。我想要获得我在旋转画布上绘制的位图的屏幕坐标。为了实现这一点,我需要画布的剪辑边界。对于非旋转画布,这不会有任何问题。但是对于旋转的情况,它却给我奇怪的值。说实话,我真的不确定对于旋转的画布,它们应该代表什么,因为顶部和底部不能简单地用整数值表示当前可见部分在y轴上到画布顶部和底部的距离。左侧和右侧也同样适用。那么这些值对我意味着什么,我如何使用它们来获取屏幕坐标呢?
查看Android源代码没有帮助,因为它们使用了一个native_getClipBounds()方法,我在任何地方都找不到它……
1个回答

3
不算是答案,但是评论已经写不下了。
你说你知道旋转的角度。为什么不在纸上绘制位图并计算旋转后位图的角落坐标和旋转后位图的边界框(红色矩形)的范围,看看哪些(如果有)与你从Canvas.getClipBounds()得到的数字相符。 alt text

问题是我使用的画布是用于地图的,因此非常大,特别是与当前可视部分相比。没有机会将其缩小到纸张大小而不会失去太多信息...但感谢快速的回复! :) - ubuntudroid
@ubuntudroid - 好的,你不必完全按比例绘制!只需绘制形状并将角落的坐标写下即可。 - ChrisF
啊,看来我误解了你的意思!那是个好主意 - 我明天会试试! - ubuntudroid

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接