安卓实现图片反色,改色-colorFilter
2020-09-10 本文已影响0人
蓝不蓝编程
效果图
原图反色
过滤蓝光
主要代码
/**
* 反色
*/
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)
}
/**
* 过滤蓝光
*/
private fun filterBlueLight() {
// 把蓝色减弱为原来的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设置颜色过滤器,详见:https://www.jianshu.com/p/c2d266c9316c