Notice: 函数 WP_Scripts::localize 的调用方法不正确$l10n 参数必须是一个数组。若要将任意数据传递给脚本,请改用 wp_add_inline_script() 函数。 请查阅调试 WordPress来获取更多信息。 (这个消息是在 5.7.0 版本添加的。) in /data/www/appblog/wp-includes/functions.php on line 6131

Android设置ImageView图片灰度

采用颜色矩阵ColorMatrix和色彩矩阵颜色过滤器ColorMatrixColorFilter实现

//灰度/黑白
public static void grayImage(ImageView imageView) {
    ColorMatrix matrix = new ColorMatrix();
    matrix.setSaturation(0);  //饱和度: 0灰色 100过度彩色 50正常
    ColorMatrixColorFilter filter = new ColorMatrixColorFilter(matrix);
    imageView.setColorFilter(filter);
}

//亮灰度
public static void grayImage(ImageView imageView, int bright) {
    ColorMatrix matrix = new ColorMatrix(new float[] {
        0.213f, 0.715f, 0.072f, 0, bright,
        0.213f, 0.715f, 0.072f, 0, bright,
        0.213f, 0.715f, 0.072f, 0, bright,
        0, 0, 0, 1f, 0
    });
    ColorMatrixColorFilter filter = new ColorMatrixColorFilter(matrix);
    imageView.setColorFilter(filter);
}

//改变亮度
public static void brightImage(ImageView imageView, int bright) {
    ColorMatrix matrix = new ColorMatrix(new float[] {
            1, 0, 0, 0, bright,
            0, 1, 0, 0, bright,
            0, 0, 1, 0, bright,
            0, 0, 0, 1f, 0
    });
    ColorMatrixColorFilter filter = new ColorMatrixColorFilter(matrix);
    imageView.setColorFilter(filter);
}

//恢复
public static void resetImage(ImageView imageView) {
    ColorMatrix matrix = new ColorMatrix();
    ColorMatrixColorFilter filter = new ColorMatrixColorFilter(matrix);
    imageView.setColorFilter(filter);
}
上一篇 Android TimerTask定时任务卡顿
下一篇 Android组件化开发之ImageLoader封装