我想了解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;显示垂直滚动的量。
希望这对你有帮助。

10-04 20:01