【问题标题】:Android Canvas - restrict draw areaAndroid Canvas - 限制绘图区域
【发布时间】:2020-02-06 22:01:59
【问题描述】:

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

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

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

【问题讨论】:

    标签: android canvas


    【解决方案1】:

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

    要使用 save()Canvas,请执行单个 drawBitmap(),然后执行 restore() 以恢复原始剪辑状态:

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

    【讨论】:

    • 是的,刚刚测试过了——就像一个魅力。太糟糕了,我已经用“老式的方式”做了 =/
    猜你喜欢
    • 1970-01-01
    • 2012-01-31
    • 2012-10-29
    • 2020-06-30
    • 2017-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-22
    相关资源
    最近更新 更多