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