【问题标题】:JAVA Android: Darkening black letters/texts on a bitmapJAVA Android:使位图上的黑色字母/文本变暗
【发布时间】:2015-08-19 17:19:28
【问题描述】:

我想使位图上的所有黑色文本变暗以过滤位图,经过研究我发现:

private static void setContrast(ColorMatrix cm, float contrast) {
                float scale = contrast + 1.f;
                   float translate = (-.5f * scale + .5f) * 255.f;
                cm.set(new float[] {
                       scale, 0, 0, 0, translate,
                       0, scale, 0, 0, translate,
                       0, 0, scale, 0, translate,
                       0, 0, 0, 1, 0 });
        }

我目前的挑战是将其应用于位图以使黑色文本变暗。 请帮助我。

【问题讨论】:

    标签: java android


    【解决方案1】:

    我能够使用以下方法找到我的问题的答案 https://stackoverflow.com/a/17887577/5220210http://android.okhelp.cz/bitmap-set-contrast-and-brightness-android/

    public static Bitmap darkenText(Bitmap bmp,  float contrast)
    {
        ColorMatrix cm = new ColorMatrix();
         float scale = contrast + 1.f;
         float translate = (-.5f * scale + .5f) * 255.f;
      cm.set(new float[] {
             scale, 0, 0, 0, translate,
             0, scale, 0, 0, translate,
             0, 0, scale, 0, translate,
             0, 0, 0, 1, 0 });
    
        Bitmap ret = Bitmap.createBitmap(bmp.getWidth(), bmp.getHeight(), bmp.getConfig());
    
        Canvas canvas = new Canvas(ret);
    
        Paint paint = new Paint();
        paint.setColorFilter(new ColorMatrixColorFilter(cm));
        canvas.drawBitmap(bmp, 0, 0, paint);
    
        return ret;
    }
    

    希望对某人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 2014-04-27
      • 2020-07-04
      • 1970-01-01
      相关资源
      最近更新 更多