使用MaskFilter

MaskFilter類可以為Paint分配邊緣效果。

對MaskFilter的擴充套件可以對一個Paint邊緣的alpha通道應用轉換。Android包含了下面幾種MaskFilter:

BlurMaskFilter   指定了一個模糊的樣式和半徑來處理Paint的邊緣。

EmbossMaskFilter  指定了光源的方向和環境光強度來新增浮雕效果。

要應用一個MaskFilter,可以使用setMaskFilter方法,並傳遞給它一個MaskFilter物件。下面的例子是對一個已經存在的Paint應用一個EmbossMaskFilter:

   1. // 設定光源的方向  
   2. float[] direction = new float[]{ 1, 1, 1 };  
   3. //設定環境光亮度  
   4. float light = 0.4f;  
   5. // 選擇要應用的反射等級  
   6. float specular = 6;  
   7. // 向mask應用一定級別的模糊  
   8. float blur = 3.5f;  
   9. EmbossMaskFilter emboss=new EmbossMaskFilter(direction,light,specular,blur);  
  10.  
  11. // 應用mask  
  12. myPaint.setMaskFilter(emboss);