Как получить Bitmap из другого Bitmap и цвета?

Программа выводит изображение на экран при помощи объекта Canvas.В папке drawable находится png-картинка. По имени картинки bitmapName я получаю Bitmap с помощью такого кода

    int resID = context.getResources().getIdentifier(bitmapName, "drawable", context.getPackageName());
    Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), resID);

Я использую метод drawBitmap() для вывода полученного Bitmap на экран. Проблема в том, что объект, на который наложена эта картинка используется в программе довольно часто и картинка должна иметь разные оттенки в зависимости от логики. Изображение имеет то жёлтый, то зелёный, и т.д. оттенки. Причем оттенков достаточно МНОГО. Самый простой способ это сделать просто создать эти изображения заранее и загрузить в память. Но загрузка большого количества картинок сильно увеличит размер приложения, а мне этого не хотелось бы. Я в фотошопе попробовал такой вариант. Поверх изображения наложил слой и залил сплошным цветом. Понизил непрозрачность этого слоя. В результате получилась картинка такая как мне нужна. Поэтому такой вопрос: как создать Bitmap из другого готового Bitmap и какого-то цвета с прозрачностью. Мне нужен метод в который я посылаю Bitmap, цвет, уровень прозрачности; и получаю из него готовый Bitmap изменённого оттенка. Подскажите, как мне добиться подобного результата? Как наложить цвет на Bitmap?


Ответы (0 шт):