Android Canvas-限制绘图区域

时间:2020-02-06 08:45:47

标签: android canvas

所以在我的画布上,我只有几个矩形区域,可以在其中绘制不同的位图。 有时,位图会超出其各自区域。我希望这些位图被切除,因此仅绘制位图区域内的部分。

我确定可以手动计算(srcRect和dstRect)... 但是没有更简单的解决方案吗?

我找到了clipBounds,但似乎并没有以任何方式限制绘图区域。

1 个答案:

答案 0 :(得分:1)

您想要的是Canvas.clipRect()。当然,您将需要知道剪切矩形的边界,但是不必担心计算自定义srcRect

要使用save()Canvas,先做一个drawBitmap(),然后再restore()来恢复原来的裁剪状态:

canvas.save();
canvas.clipRect(...);
canvas.drawBitmap(...);
canvas.restore();