2011.10.10——— android 画图之setXfermode
参考:
http://onewayonelife.iteye.com/blog/1169176
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
- 大小: 26.5 KB
分享到:
相关推荐
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/51264653
博客《自定义控件三部曲之绘图篇(十一)——Paint之setXfermode(二)》对应源码,博客地址:http://blog.csdn.net/harvic880925/article/details/51284710
Android Paint之 setXfermode PorterDuffXfermode 讲解!
Xfermode localXfermode2 = localPaint2.setXfermode(localXfermode1); } float f1 = getWidth(); float f2 = getHeight(); int i = paramCanvas.saveLayer(0.0F, 0.0F, f1, f2, null, 31); int j = getWidth...
Android简单的画图(涂鸦)应用,使用Paint的setXferMode方法实现了蜡笔效果 #效果图 蜡笔效果 选择颜色 选择颜色,并按中间的圆圈确定 选择画笔,当前选择蜡笔效果笔刷 不同画笔,不同颜色,不同画笔大小的效果 ...
方式实现,API 18 以下 使用 Paint.setXfermode(Xfermode) 方式实现 (使用的是PorterDuffXfermode),均支持动态图;支持固定高宽缩放比缩放,支持前景 Drawable,支持ImageView的所有ScaleType。 属性及方法说明 ...
刮刮卡:1....涉及知识点:1.Canvas、Paint、Path、Bitmap的使用2.Paint.setXferMode的使用3.自定义属性4.Bitmap.getPixles获得所有像素点。项目地址:https://github.com/scp504677840/GuaGuaKa 效果图:
采用paint.setXfermode() 设置一个简单的圆形遮罩,详细了解请移步http://blog.csdn.net/zxc514257857/article/details/63834235
在 Android 的一些界面中,有时候我们需要为一副图片生成大小为 n * n 的缩略图,有时候需要的缩略图特殊一些,比如: 1、带圆角的缩略图: 如果我们需要带圆角的缩略图,但提供的图片是 n * n 的正方形的图片,该...
android Bitmap用法总结 Bitmap用法总结 1、Drawable → Bitmap public static Bitmap drawableToBitmap(Drawable drawable) { Bitmap bitmap = Bitmap .createBitmap( drawable.getIntrinsicWidth(), drawable....
Android 通过canvas绘制圆角进度条,利用paint.setXfermode实现,可以自行更改成右边圆角左边直角。
图形裁剪ImageView,API 21 及以上 使用 View.setOutlineProvider(ViewOutlineProvider) 方式实现,API 18 及以上 使用 Canvas.clipPath(Path) 方式实现,API 18 以下 使用 Paint.setXfermode(Xfermode) 方式实现...
详情参考,http://blog.csdn.net/a38017032/article/details/54644881
PorterDuffXfermode类似于数据集合里面的交集并集概念,只是数据里面取的是两个集合,而我们这里取的是两个图形之间的交集并集,我们先来看一张Android API Demo里面一张金典的图 图中的Src和Dst相当于是数学中的...
本文实例为大家分享了Android仿刮刮卡效果展示的具体代码,供大家参考,具体内容如下 一、Xfermode 通过使用Xfermode将绘制的图形的像素和Canvas上对应位置的像素按照一定的规则进行混合,形成新的像素,再更新到...
> 在工作中难免遇到自定义 View 的相关需求,本身这方面比较薄弱,因此做个记录,也是自己学习和成长的积累。自定义View实战 前言 ... setXfermode() 用于设置图像的过度模式,其中 PorterDuff.Mode.
看了Android版QQ的自定义头像功能,决定自己实现,随便熟悉下android绘制和图片处理这一块的知识。 先看看效果: 思路分析: 这个效果可以用两个View来完成,上层View是一个遮盖物,绘制半透明的颜色,中间挖了一个...
本文实例讲解的是如何画一个满满圆形水波纹loadingview,这类效果应用场景很多,比如内存占用百分比之类的,分享给大家供大家参考,具体内容如下 效果图如下: 预备的知识: 1.贝塞尔曲线 如果你不了解,可以来...