canvas.getClipBound的工作原理

3
我希望了解canvas.getClipBound方法的内部机制。请指导我建立自己的理解。
例如: 在画布上绘图并进行缩放时,使用clipBounds可以通过查询滚动的x和y位置来获取它们。
int l = canvas.getClipBound().left;
int t = canvas.getClipBound().top;

我想了解它在内部是如何工作的。

请查看以下链接,这可能会有所帮助:查看链接 - AndroUser
1个回答

3
假设您的画布宽度和高度为480x800,并且您已经在上面绘制了一些东西。一旦您进行缩放,安卓系统将计算出在特定缩放级别下可以向用户显示当前画布的多少区域,并将剪切该区域。例如,一旦进行缩放,画布实际可显示的区域可能为300x500,则剪裁区域也将是相同的300x500,这意味着此300x500被缩放并显示在480x800的显示屏上。在此示例中,原始画布的其余区域(宽度和高度)未在当前显示,可以计算如下:
xScroll = 480-300;

而且。
yScroll = 800-500;
< p > canvas.getClipBound().left; 表示缩放后屏幕向水平方向滚动的距离, canvas.getClipBound().top; 表示缩放后屏幕向垂直方向滚动的距离。

希望这能帮助您。


实际上我想问的是,如果我使用 [1f < scalefactor < 5f] 进行缩放,那么它是如何计算偏移量的? - mohit

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