public static Bitmap circleBitmap(Bitmap source) {
//获取图片的宽度
int width = source.getWidth();
//创建一个与source等宽的Bitmap对象
Bitmap bitmap = Bitmap.createBitmap(width, width, Bitmap.Config.ARGB_8888);
//创建等大小的画布
Canvas canvas = new Canvas(bitmap);
//绘制一个圆圈:将此圆圈理解为下层图片
Paint paint = new Paint();
paint.setAntiAlias(true);
canvas.drawCircle(width / 2, width / 2, width / 2, paint);
//设置图片相交情况下的处理方式
//setXfermode:设置当绘制的图像出现相交情况时候的处理方式的,它包含的常用模式有哪几种
//PorterDuff.Mode.SRC_IN 取两层图像交集部门,只显示上层图像,注意这里是指取相交叉的部分,然后显示上层图像
//PorterDuff.Mode.DST_IN 取两层图像交集部门,只显示下层图像
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
//source:理解为上层图片
canvas.drawBitmap(source, 0, 0, paint);
return bitmap;
}
BitmapUtils.java 文件源码
java
阅读 41
收藏 0
点赞 0
评论 0
项目:GitHub
作者:
评论列表
文章目录