Android裁剪图片为圆形图片
Android裁剪图片为圆形图片
http://blog.csdn.net/kkmike999/article/details/16359713
- /**
- * 转换图片成圆形
- *
- * @param bitmap
- * 传入Bitmap对象
- * @return
- */
- public Bitmap toRoundBitmap(Bitmap bitmap) {
- int width = bitmap.getWidth();
- int height = bitmap.getHeight();
- float roundPx;
- float left, top, right, bottom, dst_left, dst_top, dst_right, dst_bottom;
- if (width <= height) {
- roundPx = width / 2;
- left = 0;
- top = 0;
- right = width;
- bottom = width;
- height = width;
- dst_left = 0;
- dst_top = 0;
- dst_right = width;
- dst_bottom = width;
- } else {
- roundPx = height / 2;
- float clip = (width - height) / 2;
- left = clip;
- right = width - clip;
- top = 0;
- bottom = height;
- width = height;
- dst_left = 0;
- dst_top = 0;
- dst_right = height;
- dst_bottom = height;
- }
- Bitmap output = Bitmap.createBitmap(width, height, Config.ARGB_8888);
- Canvas canvas = new Canvas(output);
- final int color = 0xff424242;
- final Paint paint = new Paint();
- final Rect src = new Rect((int) left, (int) top, (int) right, (int) bottom);
- final Rect dst = new Rect((int) dst_left, (int) dst_top, (int) dst_right, (int) dst_bottom);
- final RectF rectF = new RectF(dst);
- paint.setAntiAlias(true);// 设置画笔无锯齿
- canvas.drawARGB(0, 0, 0, 0); // 填充整个Canvas
- paint.setColor(color);
- // 以下有两种方法画圆,drawRounRect和drawCircle
- // canvas.drawRoundRect(rectF, roundPx, roundPx, paint);// 画圆角矩形,第一个参数为图形显示区域,第二个参数和第三个参数分别是水平圆角半径和垂直圆角半径。
- canvas.drawCircle(roundPx, roundPx, roundPx, paint);
- paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));// 设置两张图片相交时的模式,参考http://trylovecatch.iteye.com/blog/1189452
- canvas.drawBitmap(bitmap, src, dst, paint); //以Mode.SRC_IN模式合并bitmap和已经draw了的Circle
- return output;
- }
参考流程图 & 原理图:
Demo下载:
http://download.csdn.net/detail/kkmike999/6562925
Android裁剪图片为圆形图片相关推荐
- Android Glide加载圆形图片、圆角图片,部分圆角图片的使用方法
Android Glide加载圆形图片.圆角图片,部分圆角图片的使用方法 前言 Gilde圆形图片/头像 Gilde普通圆角图片即四个角都是圆角 Gilde对指定角设置圆角 前言 通过本文,您可以实现 ...
- Android --- 自定义ImageView 实现圆形图片
自定义ImageView实现圆形图片,主要是在onDraw()方法中实现绘制圆形图片,在onMeasure()中测量圆形的半径并设置View的宽高.效果如下图 代码如下 public class Ci ...
- Android 心形图片心形ImageView、带边框的的心形图片和圆形图片
源码地址:心形图片.心形ImageView.圆形图片.圆形ImageView 实际效果如下: 一.思路 1.图片尺寸:加载的图片尺寸不会完全统一,可以是正方形,长方形等,这里不需要考虑正方形,因为一般 ...
- Android Glide 加载圆形图片(绝对实用)
1.导入依赖 implementation 'com.github.bumptech.glide:glide:4.6.1' 2.用Glide加载圆形图片 Glide.with(context).loa ...
- android圆角glide,使用Glide加载圆角矩形图片、圆形图片
Glide是一个功能强大的图片加载库,下面是平常开发中使用到的一些功能,基于Glide-4.X版本的用法 Glide-github地址 Glide jar包下载地址 加载圆形图片:RequestOpt ...
- Android Glide加载圆形图片,设置圆形边框
Glide加载图片,Glide可以很方便的实现圆形加载并且也还可以设置变色边框. 关于Glide的加载在这里不详细说了,主要说一下自定义BitmapTransformation来实现圆形图片加载 st ...
- 使用Glide加载圆角矩形图片、圆形图片
Glide是一个功能强大的图片加载库,下面是平常开发中使用到的一些功能,基于Glide-4.X版本的用法 Glide-github地址 Glide jar包下载地址 加载圆形图片: RequestOp ...
- Glide加载常用类型图片(带白色边框的圆形图、圆角矩形图片、圆形图片)
一:依赖包: Glide_github implementation 'com.github.bumptech.glide:glide:4.8.0' annotationProcessor 'com. ...
- Python 将矩形图片转为圆形图片
使用PIL库将矩形图片转为原型图片 from PIL import Image, ImageDraw, ImageFilterdef crop_max_square(pil_img):return c ...
最新文章
- Codeforces Round #409 (Div. 2) C Voltage Keepsake(二分)
- Pairs Forming LCM LightOJ - 1236[数论+组合计数]
- Intellij_idea-15 常用快捷键
- js类型判断(数字、0、、undefined、null)
- UNIX环境高级编程 第11章 线程
- java 中文乱码的解决方法
- SQLi-LABS Page-4 (Challenges) Less-54-Less-65
- JBoss Tools 4.5.3.Final安装及下载
- 发动机冒黑烟_发动机冒黑烟常见的24个原因和解决方法
- 不租服务器,自建个人商业网站(如何购买域名)
- LollipopGo分布式架构--DB反向代理服务器设计
- 日期函数DATEDIFF() 计算日期之差
- 公众号前端开发配置流程
- python实现离散型变量分组统计
- OpenCV + CPP 系列(卅三)图像特征提取(Harris角点检测、Shi-Tomasi角点检测、自定义角点检测)
- 计算机显示字体怎么设置,电脑字体太小怎么调,教您怎样更改电脑界面的字体大小...
- 强化学习1-思想及分类
- linux无人值守批量安装系统
- 《被讨厌的勇气》——第四夜阅读摘记
- 知识进步的阶梯--书