当前位置:  开发笔记 > 编程语言 > 正文

如何使位图变亮或变暗

如何解决《如何使位图变亮或变暗》经验,为你挑选了1个好方法。

比方说,我如何获取现有的位图

Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.somebitmap);

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

private Bitmap darkenBitMap(Bitmap bm) { }

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



1> the_prole..:

我终于明白了.希望它可以帮助别人.

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;
}

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有