Android Colormatrix для черного цвета - PullRequest
1 голос
/ 04 февраля 2012

Я использую следующий код, чтобы сделать мою фотографию черной

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 Ответ

2 голосов
/ 04 февраля 2012

Конечно, для черного вам нужно 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, заставить альфу-ff изменить последние 0 на 1 или 255 Я не уверенкоторый, попробуйте и посмотрите.

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

...