canvas drawBitmap只是图像的一部分

Dro*_*oid 0 android bitmap android-layout

如何使用canvas使用canvas.drawBitmap()绘制位图的一部分?

例如,我有以下位图

在此输入图像描述

我只需画这部分

在此输入图像描述

是否可以使用canvas.drawBitmap或者我还需要其他东西?

Add*_*dev 6

您可以使用PorterDuff模式.请查看下图以了解它: 在此输入图像描述

在示例中,您可以绘制位图,然后消除部分在SRC-OUT模式下绘制蒙版.或者您可以绘制蒙版,然后使用DST-OUT绘制位图.

有几种选择,只需测试它们.

以下是如何将模式应用于涂料的示例

Paint mPaint;

mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_OUT);
Run Code Online (Sandbox Code Playgroud)