效果圖
原圖
反色
過濾藍(lán)光
主要代碼
/**
* 反色
*/
private fun reverseColor() {
val cm = ColorMatrix(
floatArrayOf(
-1f, 0f, 0f, 0f, 255f,
0f, -1f, 0f, 0f, 255f,
0f, 0f, -1f, 0f, 255f,
0f, 0f, 0f, 1f, 0f
)
)
imageView.colorFilter = ColorMatrixColorFilter(cm)
}
/**
* 過濾藍(lán)光
*/
private fun filterBlueLight() {
// 把藍(lán)色減弱為原來的0.7
val cm = ColorMatrix(
floatArrayOf(
1f, 0f, 0f, 0f, 0f,
0f, 1f, 0f, 0f, 0f,
0f, 0f, 0.7f, 0f, 0f,
0f, 0f, 0f, 1f, 0f
)
)
imageView.colorFilter = ColorMatrixColorFilter(cm)
}
完整源代碼
https://gitee.com/cxyzy1/image-filter
附錄
這種方式是基于ImageView做的修改,也可針對任何View設(shè)置顏色過濾器,詳見:http://www.reibang.com/p/c2d266c9316c