Hi
A combination of libraries like Glide and Custom Photo can do this function. If you want to use native frameworks Canvas will do this function, also using bitmaps in the app should be perfect to avoid decreasing performance. In this kind of app paying attention to UI thread is the most important point. Finally, after any change on the mask, any output of it is possible.
We know everything about this kind of applications but we need more details to make our final comment on your job so please contact us for more information.
We have a team of experienced Designers & Developers who would be glad to help you shape your requirements into products.
Also, we support the app and fix bugs for 6 months so don't be worry about future bugs.
Hope to hear from you soon.
Thanks