java – 如何使位图变亮或变暗

比方说,我如何获取现有的位图
Bitmap bm = BitmapFactory.decodeResource(getResources(),R.drawable.somebitmap);

并编写一个返回位图的黑暗版本的方法

private Bitmap darkenBitMap(Bitmap bm) { }

到目前为止,我一直在尝试使用Paint和Canvas但没有结果.

解决方法

我终于明白了.希望它可以帮助别人.
private Bitmap darkenBitMap(Bitmap bm) {

    Canvas canvas = new Canvas(bm);
    Paint p = new Paint(Color.RED);
    //ColorFilter filter = new LightingColorFilter(0xFFFFFFFF,0x00222222); // lighten
    ColorFilter filter = new LightingColorFilter(0xFF7F7F7F,0x00000000);    // darken
    p.setColorFilter(filter);
    canvas.drawBitmap(bm,new Matrix(),p);

    return bm;
}

相关文章

ArrayList简介:ArrayList 的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增...
一、进程与线程 进程:是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。 线程...
本文为博客园作者所写: 一寸HUI,个人博客地址:https://www.cnblogs.com/zsql/ 简单的一个类...
#############java面向对象详解#############1、面向对象基本概念2、类与对象3、类和对象的定义格式4、...
一、什么是异常? 异常就是有异于常态,和正常情况不一样,有错误出错。在java中,阻止当前方法或作用域...
Collection接口 Collection接口 Collection接口 Collection是最基本的集合接口,一个Collection代表一组...