PorterDuffXfermode之Mode.SRC_IN】的更多相关文章

package com.loaderman.customviewdemo.view; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.PorterDuff; impor…
package com.loaderman.customviewdemo.view; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Matrix; import android.graphics.Paint; import an…
菜鸡wing遇敌PorterDuffXferMode,不料过于轻敌,应战吃力.随后与其大战三天三夜,三百余回合不分胜负.幸得 @咪咪控 相助,侥幸获胜. 关键字:PorterDuffXferMode  错误 不正确  不达到预期  bug 上一篇带来一个使用PorterDuffXferMode  做的 水波纹loadingview,中间遇到了点小困难. (说人话)  PorterDuffXferMode总是不能按照效果图预期的效果执行.关于PorterDuffXferMode的错误显示是一个对初…
菜鸡wing遇敌PorterDuffXferMode,不料过于轻敌,应战吃力. 随后与其大战三天三夜.三百余回合不分胜负. 幸得 @咪咪控 相助,侥幸获胜. keyword:PorterDuffXferMode  错误 不对  不达到预期  bug 上一篇带来一个使用PorterDuffXferMode  做的 水波纹loadingview,中间遇到了点小困难. (说人话)  PorterDuffXferMode总是不能依照效果图预期的效果执行.关于PorterDuffXferMode的错误显示…
此文已由作者游葳授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 写在开头 随着应用开发的深入,视觉同学在完成了页面的基本设计后,再也按耐不住心中的寂寞,开始对各种细节不满意,于是乎就会提出各种视觉优化的方案.作为开发人员,啥也别说了,你懂的,有困难要上,没困难,制造困难也要上.既然是优化提升的方案,那很多时候只使用系统提供的各种控件,或者只是简单的用Paint去进行图形颜色的绘制,已经满足不了视觉同志的胃口了,这就要求我们必须掌握Paint的进阶技巧,比如本文介绍的图像…
内容简介 文章介绍ImageView(方法也可以应用到其它View)圆角矩形(包括圆形)的一种实现方式,四个角可以分别指定为圆角.思路是利用"Xfermode + Path"来进行Bitmap的裁剪. 背景 圆角矩形实现的方法应该很多,网上一大堆.很怀疑为啥安卓的控件不内置这样的属性(我不知道有)? 之前用到的网络图片加载库(UniversalImageLoader等)都自带"圆形图片"这样的功能.这次需要的效果是圆角矩形,而且只有图片上面左.右两个角是圆角.然后藐…
看下效果先 下面有完整的示例代码 使用BitmapShader(着色器) 我们在绘制view 的时候 就是小学上美术课 用水彩笔在本子上画画 使用着色器绘制圆形图片最简单的理解方式 就是把bitmap当做一种颜色 设置给paint ,paint都已经有颜色了 你想让它方了,圆了,扁了 还不是看你心情 canvas调用那个方法咯 实现的大致思路如下: 1. 创建一个类 继承imageView 重写onDraw() 2. 获取到bitmap图片 3. 计算图片的缩放比例 使用矩阵matrix 进行缩…
以前写as3的时候,遮罩效果一个mask属性就搞定了,真是方便. 转到android上以后,发现要实现类似的效果,可以使用Xfermode,android一共提供了三种: AvoidXfermode; PixelXorXfermode; PorterDuffXfermode; 前两种已经不被推荐使用了(据说是因为不支持硬件加速,要生效得强制关闭硬件加速),就不细说了,主要说说第三种,一共提供了十六种效果(as3里也提供了类似,但是更加复杂的方法,所以对我而言还是比较熟悉的),如图所示: 但是要正…
在Paint中有很多的属性可以设置,比如可以设置阴影,颜色过滤等等,这些会产生不同的奇妙效果,今天就对各种属性探索一下. 方法一: 1 //设置绘制的颜色,a代表透明度,r,g,b代表颜色值. 2 setARGB(int a,int r,int g,int b); 这个不多说了,还有两个类似的方法,将设置alpha和rgb分割开来了.注意的是这里的a值是0-255的范围,不是小数. 方法二: //设置是否使用抗锯齿功能,会消耗较大资源,绘制图形速度会变慢. setAntiAlias(boolea…
 情景再现: 写Android程序也有一段时间了,今天突然被问怎么实现一个圆形图片,很多app图像是圆形的.但是用户上传的图像可不是圆的,所以问题就来了,需要我们代码实现圆形图片.但是大脑飞转想到第三方图片缓存工具ImageLoader.但是这个只能设置圆角,很难设置实现规则的圆形图片.然后又想只能通过paint和画布去画了,但是只能画一个圆,最后怎么让这个圆填充上图片就成问题了.最后没能回答他的问题.这个时候比较害羞,以前只用过圆角图片,没弄过这种圆形图片啊.所以晚上就查了下资料 实现: /*…