天天看点

Android canvas 清空内容

之前用的是canvas.drawColor(),可以用纯色填充。

其实可以用

 canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);

测试效果很好。

下面是一篇对 setXfermode

设置两张图片相交时的模式

我们知道 在正常的情况下,在已有的图像上绘图将会在其上面添加一层新的形状。 如果新的Paint是完全不透明的,那么它将完全遮挡住下面的Paint;

而setXfermode就可以来解决这个问题

一般来说 用法是这样的

Canvas canvas = new Canvas(bitmap1);

paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));

canvas.drawBitmap(mask, 0f, 0f, paint);      

就是在图片bitmap1上面绘制图片mask时 处理两者相交时候显示的问题

canvas原有的图片 可以理解为背景 就是dst

新画上去的图片 可以理解为前景 就是src

Mode的值 如下图

Android canvas 清空内容