3

我想了解 canvas.getClipBound 方法的内部结构。请指导我建立我的理解。

例如:在画布上绘制和缩放时,使用 clipBounds 我们可以通过询问获得滚动的 x 和 y 位置

int l = canvas.getClipBound().left;
int t = canvas.getClipBound().top;

我想知道它在内部是如何工作的。

4

1 回答 1

3

假设您的 Canvas 的宽度和高度为 480x800,并且您在其上绘制了一些东西。缩放后,android 系统将计算当前画布的多少区域可以在特定缩放级别显示给用户,并且该区域将被剪裁。例如,画布缩放后实际可显示的区域可能是 300x500,那么剪辑区域将是相同的 300x500,也就是说,这个 300x500 被缩放并显示在 480x800 显示器中。在此示例中,当前未显示的原始画布的其余区域(宽度和高度)可以计算为

xScroll = 480-300;

yScroll = 800-500;

canvas.getClipBound().left;给出缩放屏幕水平滚动的程度,并 canvas.getClipBound().top;显示垂直滚动的程度。

希望这会帮助你。

于 2013-08-16T07:07:06.630 回答