天天看點

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 清空内容