加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 02:47:25 所属栏目:Java 来源:网络整理
导读:比方说,我如何获取现有的位图 Bitmap bm = BitmapFactory.decodeResource(getResources(),R.drawable.somebitmap); 并编写一个返回位图的黑暗版本的方法? private Bitmap darkenBitMap(Bitmap bm) { } 到目前为止,我一直在尝试使用Paint和Canvas但没有结果.
比方说,我如何获取现有的位图
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;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读