Xfermode有三个实现类:AvoidXfermode, PixelXorXfermode以及PorterDuffXfermode。
前两个类因为不支持硬件加速在API level 16被标记为Deprecated了,用也可以,但是需要关闭硬件加速,简单说下。

AvoidXfermode

AvoidXfermode xfermode will draw the src everywhere except on top of the
opColor or, depending on the Mode, draw only on top of the opColor.

这话翻译成中文太别扭了,自己理解吧。举个栗子,如果你想对原来图像进行处理,把红色换成绿色,可以使用这个;或者,你想把不是红色的换成某个颜色,也行。这里有一个容差值的概念,比如红色是0xff0000 但是在一定范围内也都是红色,如果你设定一个容差值,那么“各种符合要求的红色”都会被处理。

阅读全文 »