android-Xfermode模式详解

setXfermode 

设置两张图片相交时的模式 

我们知道 在正常的情况下,在已有的图像上绘图将会在其上面添加一层新的形状。 如果新的Paint是完全不透明的,那么它将完全遮挡住下面的Paint; 

而setXfermode就可以来解决这个问题 

 

一般来说 用法是这样的 

Canvas canvas = new Canvas(bitmap1);  
  
paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));  
  
canvas.drawBitmap(mask, 0f, 0f, paint);  

就是在图片bitmap1上面绘制图片mask时 处理两者相交时候显示的问题 

canvas原有的图片 可以理解为背景 就是dst 
新画上去的图片 可以理解为前景 就是src 

 

Mode的值 如下图 

 

一个遮罩层的具体例子  参见 

http://lonesane.iteye.com/blog/791267 

posted @ 2016-02-20 17:14  _启明  阅读(455)  评论(0编辑  收藏  举报