我很难找到答案。考虑下面的剪辑代码:
boolean is_ok = mycanvas.clipRect(clip_left, clip_top, clip_right+1, clip_bottom+1);
mycanvas.getClipBounds(clipRect);
if (!is_ok ||
clipRect.left != clip_left ||
clipRect.top != clip_top ||
clipRect.right != clip_right+1 ||
clipRect.bottom != clip_bottom+1)
{
Log.i("DEBUG", "setClipping failed");
}
返回剪辑边界时,它们与刚刚设置的内容不匹配。例如,如果 clip_left、clip_top、clip_right、clip_bottom 为 (100,50,109, 59),那么在给定上述代码的情况下,我希望剪切边界为 (100, 50, 110, 60)。它不是。getClipBounds() 返回 (100, 51, 110, 60)。
当我将它设置为 50 时,为什么 top = 51?引擎盖下有些东西我还不明白。