0

需要帮助
我有代码来设置这样的亮度图像

float fb = (fbri *1.5f);
        ColorMatrix cmB = new ColorMatrix();
        cmB.set(new float[] { 
            1, 0, 0, 0, fb,
            0, 1, 0, 0, fb,
            0, 0, 1, 0, fb,
            0, 0, 0, 1, 0   });

        ColorMatrix colorMatrix = new ColorMatrix();
        colorMatrix.set(cmB);

结果我像这样保存到位图

Canvas c = new Canvas(b2);
        Paint paint = new Paint();
        ColorMatrixColorFilter f = new ColorMatrixColorFilter(colorMatrix);
        paint.setColorFilter(f);   
        c.drawBitmap(bbri, 0,0, paint);
        mImageView.setImageDrawable(new BitmapDrawable(getResources(),b2));

我也有像这样设置对比度图像的代码

  float[] cntr = new float[] { 
                scale, 0    , 0   , 0, translate,
                0    , scale, 0   , 0, translate,
                0    , 0    ,scale, 0, translate, 
                0    , 0    , 0   , 1, 0          };
                matrix.set(cntr);   

而且我也保存到位图,它可以工作,但是如果我同时运行亮度和对比度,它会显示白色图像,因为该位图只是一个,并且该位图之前用编辑位图替换,如何解决我可以编辑图像同时具有亮度和对比度,谢谢,

4

1 回答 1

0

我不知道为什么到目前为止没有人回答你。为了让您做到这一点,无论您是创建另一个扩展位图的类还是创建与原始位图不同的位图,在您单击其他方法之前,只需给它 bmp =null;

于 2013-02-08T16:57:10.720 回答