Как поменять цвет растрового изображения в Android с помощью colorfilter? - PullRequest
0 голосов
/ 23 июля 2011

У меня есть белое фоновое изображение, оно не подходит для черного фона моего приложения.

Я хочу сделать так, чтобы на нем был черный фон, или поменять все цвета на растровом изображении.

Как я могу это сделать?

1 Ответ

0 голосов
/ 23 июля 2011

Получить ширину и высоту растрового изображения.Сохраните пиксели в массиве, затем итерируйте каждый пиксель, проверьте на белый цвет (шестнадцатеричное значение), если оно истинно, затем поменяйте его на значение для черного.Это не лучшее решение.Почему бы вам просто не загрузить черное растровое изображение?

Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.r);  //example, 
                int[] pixels = new int[bm.getWidth()*bm.getHeight()];
                bm.getPixels(pixels, 0, bm.getWidth(),0, 0, bm.getWidth(), bm.getHeight()); //filling the array, this might throw some outofboundaryindex exception for the array, check again.
                int i = 0;
               while(i!=bm.getWidth()*bm.getHeight())
               {
                   if(pixels[i]==hexforblack)
                   {
                       swap it with hex of white
                   }
                   i++;
               }

Здесь вы можете найти шестнадцатеричные значения цветов

http://www.w3schools.com/html/html_colors.asp

...