栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何修改位图的RGB像素以使其看起来不同

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何修改位图的RGB像素以使其看起来不同

我知道答案,但也许有些人有其他更好的解决方案。

public Bitmap toSephia(Bitmap bmpOriginal){ int width, height, r,g, b, c, gry;    height = bmpOriginal.getHeight();    width = bmpOriginal.getWidth();    int depth = 20;    Bitmap bmpSephia = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);    Canvas canvas = new Canvas(bmpSephia);    Paint paint = new Paint();    ColorMatrix cm = new ColorMatrix();    cm.setScale(.3f, .3f, .3f, 1.0f);       ColorMatrixColorFilter f = new ColorMatrixColorFilter(cm);    paint.setColorFilter(f);    canvas.drawBitmap(bmpOriginal, 0, 0, paint);    for(int x=0; x < width; x++) {        for(int y=0; y < height; y++) { c = bmpOriginal.getPixel(x, y); r = Color.red(c); g = Color.green(c); b = Color.blue(c); gry = (r + g + b) / 3; r = g = b = gry; r = r + (depth * 2); g = g + depth; if(r > 255) {   r = 255; } if(g > 255) {   g = 255; } bmpSephia.setPixel(x, y, Color.rgb(r, g, b));        }    }          return bmpSephia;}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/437846.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号