1. 程式人生 > >android canvas 繪製 Cirle 以外的區域為指定顏色

android canvas 繪製 Cirle 以外的區域為指定顏色

今天的內容主要是android.graphics.PorterDuff.Mode

有個需求類似:

canvas上繪製圓以外的區域為alpha透明度的黑色,圓內區域為透明:


實現原理很簡單,就是把整個canvas畫成alpha透明度的黑色,

canvas.drawARGB(alpha, 0, 0, 0);


然後摳空圓形區域。


//建立畫筆

Paint mPaint = new Paint();

//設定畫筆style為畫實心的

mPaint.setStyle(Style.FILL_AND_STROKE);

//set mode為clear

 mPaint.setXfermode(new PorterDuffXfermode(android.graphics.PorterDuff.Mode.CLEAR));


關於疊加mode的說明,可參照

http://www.cnblogs.com/DonkeyTomy/articles/3215137.html