所以在我的画布上,我只有几个矩形区域,可以在其中绘制不同的位图。 有时,位图会超出其各自区域。我希望这些位图被切除,因此仅绘制位图区域内的部分。
我确定可以手动计算(srcRect和dstRect)... 但是没有更简单的解决方案吗?
我找到了clipBounds,但似乎并没有以任何方式限制绘图区域。
答案 0 :(得分:1)
您想要的是Canvas.clipRect()
。当然,您将需要知道剪切矩形的边界,但是不必担心计算自定义srcRect
。
要使用save()
和Canvas
,先做一个drawBitmap()
,然后再restore()
来恢复原来的裁剪状态:
canvas.save();
canvas.clipRect(...);
canvas.drawBitmap(...);
canvas.restore();