安卓开发

安卓实现图片反色,改色-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

上一篇 下一篇

猜你喜欢

热点阅读