PorterDuffXfermode的用法

原创 2011年12月19日 17:19:10


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就可以来解决这个问题 .

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


Android中Canvas绘图之PorterDuffXfermode使用及工作原理详解

概述类android.graphics.PorterDuffXfermode继承自android.graphics.Xfermode。在用Android中的Canvas进行绘图时,可以通过使用Port...
  • sunqunsunqun
  • sunqunsunqun
  • 2016年01月11日 00:05
  • 22035

PorterDuffXferMode不正确的真正原因PorterDuffXferMode深入试验)

菜鸡wing遇敌PorterDuffXferMode,不料过于轻敌,应战吃力。随后与其大战三天三夜,三百余回合不分胜负。幸得@咪咪控相助,侥幸获胜。 (说人话)  PorterDuffXferMo...
  • wingichoy
  • wingichoy
  • 2016年01月19日 15:54
  • 6091

PorterDuffXfermode 正确使用方式(详解)

PorterDuffXfermode 正确使用方式
  • qq_23231809
  • qq_23231809
  • 2016年05月06日 11:16
  • 1103

Android 颜色渲染(九) PorterDuff及Xfermode详解

Android 颜色渲染(九) PorterDuff及Xfermode详解 在讲具体的使用之前补充一点知识,这就是 ProterDuff的由来: 相信大多数人看到这个ProterDuff单词...
  • t12x3456
  • t12x3456
  • 2013年09月03日 08:55
  • 63914

细数PorterDuffXferMode的几个坑, PorterDuffXferMode不正确的真正原因

菜鸡wing遇敌PorterDuffXferMode,不料过于轻敌,应战吃力。随后与其大战三天三夜,三百余回合不分胜负。幸得 @咪咪控 相助,侥幸获胜。 关键字:PorterDuffXferMo...
  • u010335298
  • u010335298
  • 2016年07月21日 15:38
  • 1989

Android PorterDuffXfermode使用中的一些坑

概述在android canvas绘图中经常会使用到Paint.setXfermode()来给画笔设置一个Xfermode;Xfermode是一种将所绘制的图形的像素按照一定模式进行混合从而形成新的像...
  • u013085697
  • u013085697
  • 2016年08月02日 18:08
  • 2328

Xfermode和PorterDuff详解、自定义View(三)之自定义属性、涂鸦和悬浮球绘制

领卓教育培训第六十七天 XfermodeXfermode下边有三个子类 : 1. AvoidXfermode 指定了一个颜色和容差,强制Paint避免在它上面绘图(或者只在它上面绘图)。 2. ...
  • aiynmimi
  • aiynmimi
  • 2015年09月18日 20:59
  • 1075

【Android】PorterDuffXfermode使用(通过消除背景层与重叠部分绘制组合图形)

利用PorterDuffXfermode,绘制组合图形,过程我分成了4个步骤(onDraw方法里面):      1、通过canvas.saveLayout()先绘制一个背景图层(这里位置大小很重要,...
  • u013372185
  • u013372185
  • 2016年06月27日 14:31
  • 1586

PorterDuffXfermode使用

PorterDuffXfermode使用
  • y2211911011
  • y2211911011
  • 2015年11月03日 09:47
  • 383

Android Paint之 setXfermode PorterDuffXfermode 讲解

前面关于paint的方法讲解里,讲到 setXfermode 就截止了,原因有两个: 1. 那篇文章已经太长了,我自己都看不下去了; 2. setXfermode 在paint 里占有至关重要的地位;...
  • tianjian4592
  • tianjian4592
  • 2015年04月07日 17:23
  • 22792
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PorterDuffXfermode的用法
举报原因:
原因补充:

(最多只允许输入30个字)