当前位置: 首页 > 面试题库 >

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

姚烨
2023-03-14
问题内容

有什么办法可以将位图转换为棕褐色?我知道要转换为grayScale是在ColorMatrix中设置setSaturation。但是棕褐色呢?


问题答案:

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

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


 类似资料:
  • 问题内容: 由于在一些数据,,之间是有差异 直接调用数据进行绘图 计算直方图结果(用),然后用绘制 示例数据生成 绘图 绘图 如何使情节看起来像情节? 为此,用例仅需保存 直方图 数据以供以后使用(以后通常会比原始数据小)。 问题答案: 条形图差异 要获得类似于该图的图,需要对的默认行为进行一些处理。 通过传递x()和y()强制使用实际x数据绘制范围。默认行为是在任意范围内绘制y数据,并将x数据作

  • 图册播放像素决定了图册播放时的大小,可通过设置自定义改变大小。图册默认设置为自适应,会根据屏幕大小自动调整。 图册编辑页,右侧图册设置区,有图册大小设置选项。 勾选自适应,则根据播放环境自适应播放像素。也可以选择16:9的布局大小。 选择固定宽度,可设置固定的像素。同时,可选择实际大小和按宽度铺满两种显示方式(这是针对编辑区图册的显示设置)。

  • 问题内容: 我在netbeans平台上制作了App。我想绘制直方图。我有红色,绿色和蓝色的图像像素。因此,请任何人对我提出建议,如何使用该像素值绘制直方图?我的代码在下面,其中我使用图像的红色,绿色和蓝色像素值。 问题答案:

  • 问题内容: 我正在使用ASP.NET,我的某些按钮只是进行重定向。我希望它们是普通的链接,但是我不希望我的用户注意到外观上的很大差异。我考虑了用锚(即标签)包裹的图像,但我不想每次更改按钮上的文本时都必须启动图像编辑器。 问题答案: 将课程应用于

  • 问题内容: 我正在实现一个类似于工具箱的窗格,因此用户一次只能选择一个工具,因此我将其行为从切换到。 但是我发现它使用自己的皮肤带有点,但是我仍然希望它显示为法线。我是JavaFX和FXML的初学者,所以有人知道我该怎么做吗? 问题答案: 首先创建一个 单选按钮, 删除样式,然后添加如下样式 希望能解决您的问题

  • 问题内容: 我需要使按钮看起来像使用CSS的链接。所做的更改已经完成,但是当我单击它时,它显示的效果就像按按钮一样。任何想法如何删除它,以便即使单击该按钮也可以用作链接? 问题答案: