/*** 转换图片成圆形** @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裁剪为圆形相关推荐

  1. 把bitmap裁剪成圆形bitmap的方法

    private Bitmap createCircleBitmap(Bitmap resource) {//获取图片的宽度 int width = resource.getWidth(); Paint ...

  2. 调用系统相机和相册,并且裁剪成圆形图片(解决6.0,7.0,8.0版本问题)

    之前写过一篇博客,那篇博客对7.0手机裁剪图片的问题没有进行解决,现在对之前的那篇博客进行补充,解决了Android6.0,7.0,8.0版本问题,不仅可以调用相册,相机,还可以将图片保存到本地,并且 ...

  3. ios 将矩形图片裁剪成圆形图片

    在ios中将一个正方形的图片裁剪成圆形的图片是一件非常容易的事情, 直接设置 imageView.layer.cornerRadius 这个属性, 再设置 imageView.clipsToBound ...

  4. WPF 中使用附加属性,将任意 UI 元素或控件裁剪成圆形(椭圆)

    原文:WPF 中使用附加属性,将任意 UI 元素或控件裁剪成圆形(椭圆) 版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可.欢迎转载.使用.重新发布,但务必保 ...

  5. android 画布心形,Android CustomShapeImageView对图片进行各种样式裁剪:圆形、星形、心形、花瓣形等...

     Android CustomShapeImageView对图片进行各种样式裁剪:圆形.星形.心形.花瓣形等 Android CustomShapeImageView是github上一个第三方开源 ...

  6. ios Image裁剪成圆形的方法

    我知道的实现方法有三种. 1.通过image mask来操作,需要添加mask目标图片. 2.通过imageview的layer来操作 如下代码 1 UIImageView * imageView = ...

  7. Android 针对华为手机调用裁剪出现圆形裁剪框的处理

    Android 针对华为手机调用裁剪出现圆形裁剪框的处理 if (Build.MANUFACTURER.equals("HUAWEI")) {intent.putExtra(&qu ...

  8. UIImageView裁剪成圆形的方法

    我知道的实现方法有三种. 1.通过image mask来操作,需要添加mask目标图片. 2.通过imageview的layer来操作 如下代码 1 2 3 4 5 6 7 8 9 10 UIImag ...

  9. iOS自定义裁剪区域,正方形圆形图片头像裁剪,仿QQ头像裁剪,圆形遮罩,矩型遮罩

    最近项目中用到了自定义图片裁剪区域的图片裁剪功能,自己写了一个,可能有诸多不完善的地方,请大家指正. 支持任意区域裁剪,9:16裁剪.16:9裁剪.1:1裁剪.圆形裁剪等等,总之裁剪框的大小,裁剪框的 ...

最新文章

  1. poj2723详解(二分 + 2-SAT)( 两种方法求解 )
  2. FPGA笔试题解析(二)
  3. python 自然语言处理 (六) 采用deepQA搭建自动聊天机器人
  4. egg mysql 项目实战,egg.js创建项目,目录介绍,简单使用,sequelize mysql使用
  5. JAVA知识学习——类的修饰符
  6. 限时免费!Cell旗下 Heliyon 多学科特刊征稿
  7. 前端框架 Bootstrap 4.5.2 发布
  8. day 107radis非关系型数据库
  9. vs2015调试iisexpress无法启动的问题解决方案整理
  10. mysql 断开的管道_java.net.SocketException: 断开的管道 (Write failed) 错误,数据库隔一段时间就断开的问题...
  11. 计算机软件429修复工具,运行时错误 429,ActiveX部件不能创建对象的解决方法小结...
  12. python中abs函数是什么意思_python abs函数怎么用
  13. 模拟信号数字化传输系统的设计与仿真分析说明书
  14. k8s(18)之污点与容忍
  15. 成品直播源码推荐,登录和注册两个页面的简单实现
  16. 第十届中国云计算大会开幕,“云界十年”评选结果正式公布
  17. 【2020 ACM Fellow 华人学者】 吕晨阳 圣路易斯华盛顿大学
  18. 中国人工智能学会主办!真实AIGC业务数据驱动,欢迎全球开发者参加
  19. 海康威视网络摄像头开发流程(四)-------- 下载萤石云js插件
  20. 计算机机型分pc机和什么,pc机是什么

热门文章

  1. Linux Sort 用法
  2. Coco Chanel(解读香奈儿)
  3. C++语言程序设计第四版课后答案(郑莉)
  4. 聊一聊fastjson
  5. 我是女孩子,我适合学前端开发吗?
  6. 英语作文万能句子计算机专业,英语作文万能句子(精选12篇)
  7. layui表格单元格样式自定义
  8. 2022年山东省安全员C证操作证考试题库及答案
  9. QT socket网络编程
  10. 数据增强:FactMix: Using a Few Labeled In-domain Examples to Generalize to Cross-domain Named Entity Reco