影象處理詳解之MaskFilter
阿新 • • 發佈:2019-02-11
使用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);