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

но кажется цветовая матрица не правильная, не могли бы вы мне помочь


person d-man    schedule 04.02.2012    source источник


Ответы (1)


Наверняка для черного нужно 0 для всех компонентов цвета. Единственное, о чем стоит беспокоиться, это альфа. Чтобы оставить все как есть, как вы хотите.

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

Чтобы заставить альфу обнулиться, измените единицу на 0, чтобы заставить альфу изменить последний 0 на 1 или 255, я не уверен, что, попробуйте и посмотрите.

Документация ColorMatrix.

person Ifor    schedule 04.02.2012
comment
не могли бы вы помочь мне понять каждый из них :( - person d-man; 04.02.2012