MaskFilter是對一個Paint的alpha通道的轉換。而ColorFilter則是對每一個RGB通道應用轉換。所有由ColorFilter所派生的類在執行他們的轉換。都會忽略alpha通道。
Android包含三個ColorFilter:
1.ColorMatrixColorFilter 可以指定一個4×5的ColorMatrix並將其應用到一個Paint中。ColorMatrixes通常在程序中用於對圖像進行處理 ,而且由於它們支持使用矩陣相乘的方法來執行鏈接轉換,所以它們很有用。
2.LightingColorFilter 乘以第一個顏色的RGB通道,然後加上第二個顏色。每一次轉換的結果都限制在0到255之間。
3.PorterDuffColorFilter 可以使用數字圖像合成的16條Porter-Duff 規則中的任意一條來向Paint應用一個指定的顏色。
使用setColorFilter方法應用ColorFilter,如下所示:
myPaint.setColorFilter(new LightingColorFilter(Color.BLUE, Color.RED));