Bat*_*ude 5 android clipping android-canvas
我无法找到答案.考虑下面的剪辑代码:
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");
}
Run Code Online (Sandbox Code Playgroud)
返回剪辑边界时,它们与刚刚设置的不匹配.例如,如果clip_left,clip_top,clip_right,clip_bottom是(100,50,109,59),那么在给定上面的代码的情况下,我希望剪裁边界是(100,50,110,60).事实并非如此.getClipBounds()返回(100,51,110,60).
当我将它设置为50时,为什么top = 51?还有一些我不明白的东西.
好的,在提问之前我需要更清楚地阅读.如果有人有兴趣我会自己回答:
设置新的clipRect时,我认为它将替换先前的剪辑.事实并非如此.相反,它会创建与先前剪辑的交集.从Android Developers页面:
clipRect(向左浮动,浮动顶部,向右浮动,浮动底部)
将当前剪辑与指定的矩形相交,该矩形以本地坐标表示.
| 归档时间: |
|
| 查看次数: |
7779 次 |
| 最近记录: |