Android

Canvasを部分的に任意の色で塗りつぶす(消しゴムみたいの)

More than 5 years have passed since last update.

Canvasを透明色で塗りつぶすの応用。

Canvasクラスのdraw系メソッドに渡すPaintパラメーターに、上記と同じようにPorterDuffルールを設定してあげる。

例:透明な四角を描画する。

SubSurfaceView.java
Canvas canvas = getHolder.lockCanvas();

Paint paint = new Paint();
paint.setColor(Color.TRANSPARENT);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
canvas.drawRect(0, 0, 30, 30, paint);

getHolder().unlockCanvasAndPost(canvas);