推荐安卓开发神器(里面有各种UI特效和android代码库实例)
1.下面的Xfermode子类可以改变这种行为:
AvoidXfermode 指定了一个颜色和容差,强制Paint避免在它上面绘图(或者只在它上面绘图)。
PixelXorXfermode 当覆盖已有的颜色时,应用一个简单的像素XOR操作。
PorterDuffXfermode 这是一个非常强大的转换模式,使用它,可以使用图像合成的16条Porter-Duff规则的任意一条来控制Paint如何与已有的Canvas图像进行交互。
要应用转换模式,可以使用setXferMode方法,如下所示:
AvoidXfermode avoid = new AvoidXfermode(Color.BLUE, 10, AvoidXfermode.Mode. AVOID); borderPen.setXfermode(avoid);
2.Porter-Duff 效果图:
3.16条Porter-Duff规则
1.PorterDuff.Mode.CLEAR
所绘制不会提交到画布上。
2.PorterDuff.Mode.SRC
显示上层绘制图片
3.PorterDuff.Mode.DST
显示下层绘制图片
4.PorterDuff.Mode.SRC_OVER
正常绘制显示,上下层绘制叠盖。
5.PorterDuff.Mode.DST_OVER
上下层都显示。下层居上显示。
6.PorterDuff.Mode.SRC_IN
取两层绘制交集。显示上层。
7.PorterDuff.Mode.DST_IN
取两层绘制交集。显示下层。
8.PorterDuff.Mode.SRC_OUT
取上层绘制非交集部分。
9.PorterDuff.Mode.DST_OUT
取下层绘制非交集部分。
10.PorterDuff.Mode.SRC_ATOP
取下层非交集部分与上层交集部分
11.PorterDuff.Mode.DST_ATOP
取上层非交集部分与下层交集部分
12.PorterDuff.Mode.XOR
13.PorterDuff.Mode.DARKEN
14.PorterDuff.Mode.LIGHTEN
15.PorterDuff.Mode.MULTIPLY
16.PorterDuff.Mode.SCREEN
相关推荐
Android Paint之 setXfermode PorterDuffXfermode 讲解!
1、如何实现圆中水面上涨效果:利用Paint的setXfermode属性为PorterDuff.Mode.SRC_IN画出进度所在的矩形与圆的交集实现 2、如何水波纹效果:利用贝塞尔曲线,动态改变波峰值,实现“随着进度的增加,水波纹逐渐变小...
Android中采用paint.setXfermode() 设置一个简单的圆形遮罩,详细了解请移步:http://blog.csdn.net/zxc514257857/article/details/63834235
博客《自定义控件三部曲之绘图篇(十二)——Paint之setXfermode(三)》对应源码,博客地址:http://blog.csdn.net/harvic880925/article/details/50995268
博客《自定义控件三部曲之绘图篇(十一)——Paint之setXfermode(二)》对应源码,博客地址:http://blog.csdn.net/harvic880925/article/details/51284710
博客《自定义控件三部曲之绘图篇(十)——Paint之setXfermode(一)》对应源码,博客地址:http://blog.csdn.net/harvic880925/article/details/51264653
Android简单的画图(涂鸦)应用,使用Paint的setXferMode方法实现了蜡笔效果 #效果图 蜡笔效果 选择颜色 选择颜色,并按中间的圆圈确定 选择画笔,当前选择蜡笔效果笔刷 不同画笔,不同颜色,不同画笔大小的效果 ...
方式实现,API 18 以下 使用 Paint.setXfermode(Xfermode) 方式实现 (使用的是PorterDuffXfermode),均支持动态图;支持固定高宽缩放比缩放,支持前景 Drawable,支持ImageView的所有ScaleType。 属性及方法说明 ...
详情参考,http://blog.csdn.net/a38017032/article/details/54644881
实现圆角图片,通过setXfermode设置,显示圆角
刮刮卡:1....涉及知识点:1.Canvas、Paint、Path、Bitmap的使用2.Paint.setXferMode的使用3.自定义属性4.Bitmap.getPixles获得所有像素点。项目地址:https://github.com/scp504677840/GuaGuaKa 效果图:
Android 通过canvas绘制圆角进度条,利用paint.setXfermode实现,可以自行更改成右边圆角左边直角。
图形裁剪ImageView,API 21 及以上 使用 View.setOutlineProvider(ViewOutlineProvider) 方式实现,API 18 及以上 使用 Canvas.clipPath(Path) 方式实现,API 18 以下 使用 Paint.setXfermode(Xfermode) 方式实现...
本文实例讲解的是如何画一个满满圆形水波纹loadingview,这类效果应用场景很多,比如内存占用百分比之类的,分享给大家供大家参考,具体内容如下 ...首先给一些属性,在构造器里初始化(不要再ondraw new东西不要再ondr
这时候可以在贴图之前,先利用 Paint.setXfermode 方法来设置图片叠加时的混合模式,从而达到目的。一般而言,使用方法如下: Paint paint = new Paint(); paint.setXfermode(new PorterDuffXfermode(PorterDuff....
采用paint.setXfermode() 设置一个简单的圆形遮罩,详细了解请移步http://blog.csdn.net/zxc514257857/article/details/63834235
> 在工作中难免遇到自定义 View 的相关需求,本身这方面比较薄弱,因此做个记录,也是自己学习和成长的积累。自定义View实战 前言 ... setXfermode() 用于设置图像的过度模式,其中 PorterDuff.Mode.
1 问题 实现任意view经过自定义带4圆角或者2圆角的效果 2 原理 1) 实现view 4圆角 我们只需要把左边的图嵌入到右边里面去,最终... * {@link Paint#setXfermode(Xfermode) transfer mode}. Refer to the * documenta
一、setXfermode(Xfermode xfermode) Xfermode国外有大神称之为过渡模式,这种翻译比较贴切但恐怕不易理解,大家也可以直接称之为图像混合模式,因为所谓的“过渡”其实就是图像混合的一种,这个方法跟我们上面讲到...