我正在使用以下代码使我的图片变黑

BitmapDrawable bdarw = new BitmapDrawable(imagePath);

                ColorMatrix cm = new ColorMatrix();
                cm.set(new float[] {
                        2, 1f, 0, 0, 0,
                        0, 2, 0f, 0, 0,
                        0, 0, 2, 0f, 0,
                        0, 0, 0, 1f, 0 });

                bdarw.setColorFilter(new ColorMatrixColorFilter(cm));

                Bitmap bitmap= bdarw.getBitmap();

                ImageView imageView = (ImageView) findViewById(R.id.imgV);
                imageView.setImageBitmap(bitmap);


但是颜色矩阵似乎不正确,请您帮帮我

最佳答案

当然,对于黑色,所有颜色分量都需要为0。唯一需要担心的是Alpha。保留原样。

            cm.set(new float[] {
                     0, 0, 0, 0, 0,
                     0, 0, 0, 0, 0,
                     0, 0, 0, 0, 0,
                     0, 0, 0, 1f, 0 });


要强制将alpha更改为零,请将1更改为0,强制将alpha更改为ff,将最后一个0更改为1或255,我不确定是哪一种,请尝试一下。

ColorMatrix文档。

关于android - android colormatrix为黑色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9138797/

10-12 00:40