Search code examples
androidbitmapandroid-canvasalpha-transparency

How to draw a bitmap on a canvas, respecting alpha values of the bitmap?


background

i have a master bitmap that i need to draw on it other bitmaps.

the master bitmap has some semi-transparent pixels (pixels with variant values for the alpha channel) , so that the other bitmaps that are drawn on it should be merged with it instead of overriding the colors completely.

the question

how can i set the canvas to draw the bitmaps on the master bitmap with respect to the semi-transparent pixels ?

note: the alpha is not for the whole bitmap/s . it's per pixel.


Solution

  • Canvas.setXfermode(Xfermode xfermode). There are a number of Xfermodes you can choose.