Как оставить только один цветовой канал в Bitmap?

Рейтинг: 1Ответов: 2Опубликовано: 04.10.2014

Есть картинка маленькая, надо после клика по ней сделать её синей, отсекая остальные цветные каналы (но не трогая альфу). Как бы это попроще сделать? Можно ли стандартным каким фильтром?

Ответы

▲ 1Принят

Если картинка действительно маленькая (суммарной площадью не более 10^6 пикселей), то можно с помощью класса Bitmap удалить из каждого пикселя R и G каналы, оставив только B:

...
for(int y=0; y<bmpHeight; y++)
for(int x=0; x<bmpWidth; x++)
{
   myBitmap.setPixel(x, y, Color.blue(myBitmap.getPixel(x,y))); 
}
...
▲ 0

Это не подойдет?

Рисование. ColorFilter, ColorMatrix