android colormatrix为黑色

时间:2012-02-04 06:04:23

标签: android colormatrix

我正在使用以下代码将我的图片设为黑色

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

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

1 个答案:

答案 0 :(得分:2)

当然对于黑色,所有颜色成分都需要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为零,将一个更改为0,强制alpha ff将最后一个0更改为1或255我不确定哪个,尝试并查看。

ColorMatrix文档。