我想了解canvas.getClipbound方法的内部。
请引导我建立我的理解。
例如:
在画布上画画并缩放时,使用剪贴簿我们可以通过询问
int l = canvas.getClipBound().left;
int t = canvas.getClipBound().top;
我想知道它内部到底是如何运作的。
最佳答案
假设您的画布有480x800的宽度和高度,并且您在上面画了一些东西。缩放后,android系统将计算当前画布的多少区域可以显示给特定缩放级别的用户,以及多少区域将被剪裁。例如,画布缩放后的实际可显示区域可以是300x500,那么剪辑区域将是相同的300x500,这意味着300x500被缩放并显示在480x800显示中。在本例中,当前未显示的原始画布的剩余区域(宽度和高度)可以计算为
xScroll = 480-300;
和
yScroll = 800-500;
canvas.getClipBound().left;
显示缩放后的屏幕水平滚动和canvas.getClipBound().top;
显示垂直滚动的量。希望这对你有帮助。