Android 实现遮罩
2015-03-25 12:07
183 查看
关键方法
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
说明
canvas原有的图可以理解为Dst新画上去的前景图可以理解为Sre
Mode值如下图
一般用法
Canvas canvas = new Canvas(bitmap1); paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN)); canvas.drawBitmap(mask, 0f, 0f, paint);
获取Bitmap
/** * 根据原图和变长绘制圆形图片 * * @param source * @param min * @return */ private Bitmap createCircleImage(Bitmap source, int min) { final Paint paint = new Paint(); paint.setAntiAlias(true); // 注意一定要用ARGB_8888,否则因为背景不透明导致遮罩失败 Bitmap target = Bitmap.createBitmap(min, min, Config.ARGB_8888); // 产生一个同样大小的画布 Canvas canvas = new Canvas(target); // 首先绘制圆形 canvas.drawCircle(min / 2, min / 2, min / 2, paint); // 使用SRC_IN paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); // 绘制图片 canvas.drawBitmap(source, 0, 0, paint); return target; }
相关文章推荐
- Android WindowManager的使用 & 添加 遮罩层 实现夜间模式
- android遮罩阴影对话框的实现
- android通过绘制遮罩实现逐行显示信息
- Android之淘宝商品列表长按遮罩效果的实现
- 【Android】Activity遮罩效果的实现
- Android初学习 - 分别以Java code和XML两种方式给FrameLayout布局的Activity增加一个遮罩效果的实现
- android Xfermode PorterDuffXfermode 实现遮罩层
- Android使用PorterDuffXfermode实现遮罩效果
- Android之遮罩功能的实现
- android开发步步为营之51:弹出窗及遮罩层的几种实现方式
- android view用动画实现遮罩效果
- Android之实现遮罩动画的小技巧 类似flash遮罩动画
- Android遮罩实现图片不规则的显示
- Android下Skia遮罩特效的实现
- 【Android】Activity遮罩效果的实现
- Android 镂空效果的遮罩层实现
- Android 实现 遮罩动画效果
- [转载] Android之遮罩功能的实现
- Android ListView用法(1),不用ListActivity实现
- Android教程之实现动作感应技术