Xfermode (think "transfer" mode) works as a transfer step in drawing pipeline. When an
Xfermode is applied to a
Paint, the pixels drawn with the paint are combined with underlying pixels (already drawn) as per the mode:
paint.setColor(Color.BLUE); paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
Now we have a blue tint paint. Any shape drawn will tint the already existing, non-transparent pixels blue in the area of the shape.