`
Spiritualize_彭韬
  • 浏览: 25750 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Xfermode

 
阅读更多

这里可以实现完美的橡皮擦功能!代码异常简单:

1 Xfermode xFermode = new PorterDuffXfermode(PorterDuff.Mode.CLEAR);
2 paint.setXfermode(xFermode);

这是使用的最后一个子类,关于16条Porter-Duff规则,如下:

复制代码
 1 private static final Xfermode[] sModes = {
 2             new PorterDuffXfermode(PorterDuff.Mode.CLEAR),
 3             new PorterDuffXfermode(PorterDuff.Mode.SRC),
 4             new PorterDuffXfermode(PorterDuff.Mode.DST),
 5             new PorterDuffXfermode(PorterDuff.Mode.SRC_OVER),
 6             new PorterDuffXfermode(PorterDuff.Mode.DST_OVER),
 7             new PorterDuffXfermode(PorterDuff.Mode.SRC_IN),
 8             new PorterDuffXfermode(PorterDuff.Mode.DST_IN),
 9             new PorterDuffXfermode(PorterDuff.Mode.SRC_OUT),
10             new PorterDuffXfermode(PorterDuff.Mode.DST_OUT),
11             new PorterDuffXfermode(PorterDuff.Mode.SRC_ATOP),
12             new PorterDuffXfermode(PorterDuff.Mode.DST_ATOP),
13             new PorterDuffXfermode(PorterDuff.Mode.XOR),
14             new PorterDuffXfermode(PorterDuff.Mode.DARKEN),
15             new PorterDuffXfermode(PorterDuff.Mode.LIGHTEN),
16             new PorterDuffXfermode(PorterDuff.Mode.MULTIPLY),
17             new PorterDuffXfermode(PorterDuff.Mode.SCREEN)
18         };
复制代码

它们每个显示的效果具体如下:

第一个就是Clear效果!

上面很多的图都是由SDK APIDemos运行所得~~有时间仔细研究一下Graphics中的每个Activity。

分享到:
评论

相关推荐

    Android Xfermode 实战实现圆形、圆角图片

    Android Xfermode是实现这种效果的一种关键技术。本文将深入探讨如何利用Xfermode来实战实现圆形和圆角图片,并提供相关的代码实例。 Android Xfermode是一种像素操作模式,它允许我们将一个图形或图像与另一个图形...

    安卓 Xfermode 实现圆形圆角图片

    `Xfermode`是Android图形库中的一个关键工具,用于控制像素合并的方式,它可以用来实现这种效果。本篇文章将深入探讨如何利用`Xfermode`来实现圆形和圆角图片的生成。 首先,理解`Xfermode`的概念至关重要。`...

    Android使用Xfermode实现圆角矩形、椭圆ImageView实例.rar

    使用Xfermode渲染方案实现圆角矩形、椭圆自定义ImageView(源代码)。实现的类型主要是:圆形、圆角或椭圆,对这几种类型分别进行了定义,使用缓存技术,避免每次都执行onDraw。  如果ImageView类型是圆形,则强制...

    Xfermode16-PorterDuff及Xfermode.rar

    在Android开发中,PorterDuff与Xfermode是图形绘制和混合模式的重要概念,尤其在自定义View或者进行复杂的图形动画设计时,这两个概念显得尤为关键。Porter-Duff是一种数学模型,用于描述图像之间的合成操作,而...

    Lsn5_Paint_Xfermode.rar

    《Android图形绘制与Xfermode详解》 在Android开发中,我们经常需要对图形进行复杂的绘制操作,比如图像合成、特效处理等。Xfermode是Android提供的一个关键工具,它可以帮助我们实现这样的需求。本篇文章将深入...

    XferMode实现常见特效.zip

    在Android开发中,`XferMode`是一个非常重要的图形处理工具,它允许开发者在Canvas上进行复杂的绘图操作,创建出各种独特的视觉效果。本文将深入探讨如何利用`XferMode`来实现标题中提到的各种特效,包括圆角效果、...

    Lsn5_Paint_Xfermode_DST.rar

    标题 "Lsn5_Paint_Xfermode_DST.rar" 暗示了这是一个关于Android图形绘制技术的资源包,特别是涉及到Paint对象的Xfermode属性。Xfermode在Android图形处理中是一个关键概念,用于控制如何将一个源图像与目标图像进行...

    Lsn5_Paint_Xfermode_SRC.rar

    标题中的“Lsn5_Paint_Xfermode_SRC”暗示了这个压缩包可能包含一个关于使用Android的Paint类和Xfermode模式的编程示例。在Android开发中,Paint对象是用于绘制图形的基本工具,而Xfermode则允许我们定义如何将一个...

    使用Xfermode渲染方案实现圆角矩形、椭圆自定义ImageView(源代码).rar

    本文将深入探讨如何使用`Xfermode`渲染方案来实现圆角矩形和椭圆形的自定义ImageView,通过源代码分析来理解这一技术的核心原理。 首先,我们要知道`Xfermode`是Android图形库中的一个关键类,它定义了如何将一个...

    自定义View—使用Xfermode实现圆角图片

    本文将详细讲解如何通过使用Xfermode技术来实现一个圆角图片的功能,这在很多应用场景中非常常见,比如头像、卡片背景等。 Xfermode是Android图形库中的一个关键组件,它定义了如何将一个源图像与目标图像进行复合...

    Xfermode Demo

    在Android开发中,`Xfermode`是一种图形操作技术,用于控制如何将一个源图像与目标图像合并。它允许开发者实现各种特殊的绘图效果,比如擦除、混合、裁剪等。`Xfermode`的核心原理是利用像素的Alpha通道进行像素级别...

    Android自定义view利用Xfermode实现动态文字加载动画

    本文将深入探讨如何利用Xfermode技术实现动态文字加载动画。Xfermode是Android图形库中的一个关键组件,它定义了两个图形或图像如何在画布上相互混合。在自定义View中应用Xfermode,可以实现丰富的视觉效果,例如...

    PorterDuffXfermode

    在压缩包文件的"Xfermode"目录下,可能包含了示例代码、效果图以及详细的解释文档,帮助你理解和实践PorterDuffXfermode的每一种模式。通过查看和运行这些示例,你将能够更好地掌握如何在Android应用中使用...

    android实现字体变色

    `Xfermode` 是Android系统提供的一个关键工具,它允许开发者对像素进行复合操作,包括混合、裁剪和颜色变换等。这个资源包"android实现字体变色"提供了一个具体的示例,展示了如何利用`Xfermode`来实现文字颜色的...

    Android实现圆形、圆角、椭圆自定义ImageView(源代码)

    Android实现圆形、圆角、椭圆自定义ImageView,使用Xfermode渲染模式渲染图形实现的,代码有注释,读起来通俗易懂,有需要的可以下载哈 Android实现圆形、圆角、椭圆自定义ImageView,使用Xfermode渲染模式渲染图形...

    android之Paint

    Porter-Duff是一种定义图形混合规则的算法,通过`setXfermode(Xfermode)`方法可以设置PorterDuff模式。例如,`SRC_OVER`(源覆盖)是最常见的模式,新的图形会覆盖在旧图形之上;`DST_IN`(目标在内)则只保留新...

    TanTanRippleView-仿探探进入 扫描view.zip

     val sc = canvas.saveLayer(rectF, backPaint, Canvas.ALL_SAVE_FLAG)然后再drawCircle之后在设置xfermode backPaint.setXfermode(PorterDuffXfermode(PorterDuff.Mode.DST_OUT))这里采取DST_OUT,为什么...

Global site tag (gtag.js) - Google Analytics