根据图片能够看出共有16中模式git
所绘制不会提交到画布上github
显示上层绘制图片canvas
显示下层绘制图片bash
正常绘制显示,上下层绘制叠盖ui
上下层都显示。下层居上显示spa
取两层绘制交集。显示上层。code
取两层绘制交集。显示下层。cdn
取上层绘制非交集部分blog
取下层绘制非交集部分图片
取下层非交集部分与上层交集部分
取上层非交集部分与下层交集部分
异或:去除两图层交集部分
取两图层所有区域,交集部分颜色加深
取两图层所有,点亮交集部分颜色
取两图层交集部分叠加后颜色
取两图层所有区域,交集部分变为透明色
根据图层混合模式实现圆角图片
private Bitmap getRoundBitMap(Bitmap bitmap) {
Bitmap bitmap1 = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap1);
Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
mPaint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
mPaint.setColor(0xff000000);
canvas.drawRoundRect(new RectF(rect), 20, 20, mPaint);
mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, mPaint);
mPaint.setXfermode(null);
return bitmap1;
}
复制代码
感谢你们的阅读 点个赞呗
关注我 持续更新