我想了解 canvas.getClipBound 方法的内部结构。请指导我建立我的理解。
例如:在画布上绘制和缩放时,使用 clipBounds 我们可以通过询问获得滚动的 x 和 y 位置
int l = canvas.getClipBound().left;
int t = canvas.getClipBound().top;
我想知道它在内部是如何工作的。
我想了解 canvas.getClipBound 方法的内部结构。请指导我建立我的理解。
例如:在画布上绘制和缩放时,使用 clipBounds 我们可以通过询问获得滚动的 x 和 y 位置
int l = canvas.getClipBound().left;
int t = canvas.getClipBound().top;
我想知道它在内部是如何工作的。
假设您的 Canvas 的宽度和高度为 480x800,并且您在其上绘制了一些东西。缩放后,android 系统将计算当前画布的多少区域可以在特定缩放级别显示给用户,并且该区域将被剪裁。例如,画布缩放后实际可显示的区域可能是 300x500,那么剪辑区域将是相同的 300x500,也就是说,这个 300x500 被缩放并显示在 480x800 显示器中。在此示例中,当前未显示的原始画布的其余区域(宽度和高度)可以计算为
xScroll = 480-300;
和
yScroll = 800-500;
canvas.getClipBound().left;
给出缩放屏幕水平滚动的程度,并
canvas.getClipBound().top;
显示垂直滚动的程度。
希望这会帮助你。