Как программно заменить один цвет на картинке в Андроид?

Использую в приложении PNG-картинку с прозрачным фоном и двумя цветами, один из которых черный. Вроде такой:

пример

Возможно ли программно заменить голубой цвет на красный? Как это можно реализовать?


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

Автор решения: BArtWell

По совету @ЮрийСПб заменил картинки на VectorDrawable, сконвертировав их средствами студии из SVG. А далее с помощью библиотеки VectorMaster заменяю у нужных слоев цвета:

val vectorMasterDrawable = VectorMasterDrawable(context, R.drawable.my_image)
val layer = vectorMasterDrawable.getPathModelByName("layer1")
layer.setStrokeColor(Color.RED)
layer.setFillColor(Color.RED)
→ Ссылка