Я в настоящее время ищу способ использовать черно-белый битовый массив для маскирования альфа-канала другого битового массива или Drawable на Android. Мне любопытно относительно того, каково лучший способ сделать это. У меня, конечно, есть несколько идей для того, как сделать это, но они не оптимальны.
Я должен смочь применить новую маску к изображению время от времени (черно-белый битовый массив изменит каждые несколько секунд).
Любая обратная связь о том, как достигнуть этого, значительно ценилась бы.
Я не совсем понимаю, что вы собираетесь делать, но считаю, что комбинация BitmapDrawable
и LayerDrawable
может работать. BitmapDrawable позволит вам использовать ваши растровые изображения как Drawable, а затем вы можете использовать LayerDrawable для наложения маски поверх другого Drawable.
Используя пример Xfermodes в демонстрации API, я смог использовать режим PorterDuffXfermode, примененный к объекту Paint, чтобы смешать два растровых изображения на холсте. Это работает именно так, как мне нужно.