将bitmap裁剪为圆形
/*** 转换图片成圆形** @param bitmap 传入Bitmap对象* @return*/ public static 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, Bitmap.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); // 填充整个Canvaspaint.setColor(color);// 以下有两种方法画圆,drawRounRect和drawCircle// canvas.drawRoundRect(rectF, roundPx, roundPx, paint);// 画圆角矩形,第一个参数为图形显示区域,第二个参数和第三个参数分别是水平圆角半径和垂直圆角半径。canvas.drawCircle(roundPx, roundPx, roundPx, paint);paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));// 设置两张图片相交时的模式,参考http://trylovecatch.iteye.com/blog/1189452canvas.drawBitmap(bitmap, src, dst, paint); //以Mode.SRC_IN模式合并bitmap和已经draw了的Circlereturn output; }
将bitmap裁剪为圆形相关推荐
- 把bitmap裁剪成圆形bitmap的方法
private Bitmap createCircleBitmap(Bitmap resource) {//获取图片的宽度 int width = resource.getWidth(); Paint ...
- 调用系统相机和相册,并且裁剪成圆形图片(解决6.0,7.0,8.0版本问题)
之前写过一篇博客,那篇博客对7.0手机裁剪图片的问题没有进行解决,现在对之前的那篇博客进行补充,解决了Android6.0,7.0,8.0版本问题,不仅可以调用相册,相机,还可以将图片保存到本地,并且 ...
- ios 将矩形图片裁剪成圆形图片
在ios中将一个正方形的图片裁剪成圆形的图片是一件非常容易的事情, 直接设置 imageView.layer.cornerRadius 这个属性, 再设置 imageView.clipsToBound ...
- WPF 中使用附加属性,将任意 UI 元素或控件裁剪成圆形(椭圆)
原文:WPF 中使用附加属性,将任意 UI 元素或控件裁剪成圆形(椭圆) 版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可.欢迎转载.使用.重新发布,但务必保 ...
- android 画布心形,Android CustomShapeImageView对图片进行各种样式裁剪:圆形、星形、心形、花瓣形等...
Android CustomShapeImageView对图片进行各种样式裁剪:圆形.星形.心形.花瓣形等 Android CustomShapeImageView是github上一个第三方开源 ...
- ios Image裁剪成圆形的方法
我知道的实现方法有三种. 1.通过image mask来操作,需要添加mask目标图片. 2.通过imageview的layer来操作 如下代码 1 UIImageView * imageView = ...
- Android 针对华为手机调用裁剪出现圆形裁剪框的处理
Android 针对华为手机调用裁剪出现圆形裁剪框的处理 if (Build.MANUFACTURER.equals("HUAWEI")) {intent.putExtra(&qu ...
- UIImageView裁剪成圆形的方法
我知道的实现方法有三种. 1.通过image mask来操作,需要添加mask目标图片. 2.通过imageview的layer来操作 如下代码 1 2 3 4 5 6 7 8 9 10 UIImag ...
- iOS自定义裁剪区域,正方形圆形图片头像裁剪,仿QQ头像裁剪,圆形遮罩,矩型遮罩
最近项目中用到了自定义图片裁剪区域的图片裁剪功能,自己写了一个,可能有诸多不完善的地方,请大家指正. 支持任意区域裁剪,9:16裁剪.16:9裁剪.1:1裁剪.圆形裁剪等等,总之裁剪框的大小,裁剪框的 ...
最新文章
- poj2723详解(二分 + 2-SAT)( 两种方法求解 )
- FPGA笔试题解析(二)
- python 自然语言处理 (六) 采用deepQA搭建自动聊天机器人
- egg mysql 项目实战,egg.js创建项目,目录介绍,简单使用,sequelize mysql使用
- JAVA知识学习——类的修饰符
- 限时免费!Cell旗下 Heliyon 多学科特刊征稿
- 前端框架 Bootstrap 4.5.2 发布
- day 107radis非关系型数据库
- vs2015调试iisexpress无法启动的问题解决方案整理
- mysql 断开的管道_java.net.SocketException: 断开的管道 (Write failed) 错误,数据库隔一段时间就断开的问题...
- 计算机软件429修复工具,运行时错误 429,ActiveX部件不能创建对象的解决方法小结...
- python中abs函数是什么意思_python abs函数怎么用
- 模拟信号数字化传输系统的设计与仿真分析说明书
- k8s(18)之污点与容忍
- 成品直播源码推荐,登录和注册两个页面的简单实现
- 第十届中国云计算大会开幕,“云界十年”评选结果正式公布
- 【2020 ACM Fellow 华人学者】 吕晨阳 圣路易斯华盛顿大学
- 中国人工智能学会主办!真实AIGC业务数据驱动,欢迎全球开发者参加
- 海康威视网络摄像头开发流程(四)-------- 下载萤石云js插件
- 计算机机型分pc机和什么,pc机是什么