setXfermode方法实现图片遮罩 (PorterDuff.Mode的各种实现效果)

android.graphics.Paint
public Xfermode setXfermode (Xfermode xfermode)
Set or clear the xfermode object. Pass null to clear any previous xfermode. 
As a convenience, the parameter passed is also returned.

设置两张图片相交时的模式。
在正常的情况下,在已有的图像上绘图将会在其上面添加一层新的形状。如果新的Paint是完全不透明的,那么它将完全遮挡住下面的Paint;如果它是部分透明的,那么它将会被染上下面的颜色。
而setXfermode就可以来解决这个问题 .

[html]  view plain copy
  1. Canvas canvas = new Canvas(dstBitmap);  
  2. paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));    
  3. canvas.drawBitmap(srcBitmap, 0f, 0f, paint);   
canvas原有的图片可以理解为背景,就是dst;
新画上去的图片可以理解为前景,就是src。


setXfermode方法实现图片遮罩 (PorterDuff.Mode的各种实现效果)_第1张图片

你可能感兴趣的:(setXfermode方法实现图片遮罩 (PorterDuff.Mode的各种实现效果))