获取各种常见形状的位图
有的时候我们须要圆形或者矩形的位图。比方QQ头像是圆形的,还有圆角矩形的,这些是怎么做到呢?
这涉及到Xfermode,所以有必要先看一下XFermode的概念,可參考这篇文章
http://blog.csdn.net/t12x3456/article/details/10432935
以下给出获取圆形位图的详细代码
public Bitmap getRoundBitmap(){Paint paint = new Paint();int color = paint.getColor();Bitmap bmp = Bitmap.createBitmap(getWidth(), getHeight(), Config.ARGB_8888);Canvas canvas = new Canvas(bmp);canvas.<span style="color:#ff0000;">drawCircle</span>(getWidth()/2, getHeight()/2, Util.dp2px(mContext, 100), paint);//paint.setColor(color);paint.setXfermode(new PorterDuffXfermode(<span style="color:#ff0000;">PorterDuff.Mode.SRC_IN</span>));canvas.drawBitmap(mBmpPhoto, saveMatrix, paint);return bmp;}
须要什么样的图形,仅仅须要把drawCircle换成对应的方法就可以
上述代码中的
Util.dp2px(mContext, 100)方法是将dp转换成像素
public static int dp2px(Context context, float dipValue) {
<span style="white-space:pre"> </span>final float scale = context.getResources().getDisplayMetrics().density;
<span style="white-space:pre"> </span>return (int) (dipValue * scale + 0.5f);
<span style="white-space:pre"> </span>}
相应的还有将sp转换成像素的
public static int sp2px(Context context, float spValue) {
<span style="white-space:pre"> </span>final float fontScale = context.getResources().getDisplayMetrics().scaledDensity;
<span style="white-space:pre"> </span>return (int) (spValue * fontScale + 0.5f);
<span style="white-space:pre"> </span>}
获取各种常见形状的位图相关推荐
- android 获取当前画布,Android硬件位图填坑之获取硬件画布
前言 Hardware Bitmap(硬件位图)是Android8.0加入的新功能,通过设置Bitmap的config为Bitmap.Config.HARDWARE,创建所谓的Hardware Bit ...
- java中servletcontext_java中获取ServletContext常见方法
1.在javax.servlet.Filter中直接获取 ServletContext context = config.getServletContext(); 2.在HttpServlet中直接获 ...
- java 圆的交点_java – 获取线条和形状的交点
理念 您可以使用getPathIterator()方法将GenenralPath解构为其段(移动到,行到,四到,立方到,关闭).现在,您可以搜索每个线段与线的交叉点. public static Po ...
- linux bash 获取 国内常见网站的IP列表
wget -O- 'http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest' | awk -F\| '/CN\|ipv4/ { pr ...
- python获取List的形状
key:先要转化成array 代码: import numpy as npL = [[1,2],[3,4],[5,6],[7,8]] L = np.array(L)print(L.shape) 结果 ...
- 原生js获取document_常见的原生javascript DOM操作
1.创建元素 创建元素:document.createElement() 使用document.createElement()可以创建新元素.这个方法只接受一个参数,即要创建元素的标签名.这个标签名在 ...
- Java获取照片的Exif信息,并解析GPS
Java获取照片的Exif信息,并解析GPS 1. 效果图 2. 什么是Exif? 3. 源代码 参考 ❤️ 这篇博客将介绍什么EXIF,以及如何用Java语言读取Exif信息,并转换经纬度为位置信息 ...
- SpringMVC之请求参数的获取方式
转载出处:https://www.toutiao.com/i6510822190219264516/ SpringMVC之请求参数的获取方式 常见的一个web服务,如何获取请求参数? 一般最常见的请求 ...
- oracle 数据执行计划,Oracle里常见的执行计划
本文介绍了Oracle数据库里常见的执行计划,使用的Oracle数据库版本为11.2.0.1. 1.与表访问相关的执行计划 Oracle数据库里与表访问有关的两种方法:全表扫描和ROWID扫描.反映在 ...
最新文章
- 生产者与消费者(三)---BlockingQueue
- MyBatis入门2
- Python基础05 缩进和选择
- sql2005备份还原详解
- PythonRabbitmq文档阅读笔记-生产者数据直接送入队列消费者消费
- 2020年最新程序员职业发展路线指南,超详细!
- Autosar诊断——故障诊断方案设计
- ELK——Kibana 安装使用性能监控工具 APM
- 从pdf复制文字到word中的问题
- JavaSE练习题之不死神兔
- 关于模型训练的时候所需要的GPU显存的计算以及模型参数,计算量的计算
- Arduino实现数码管动态显示
- 爬取微博上某大v,明星,官微等用户的微博信息的小技巧
- [Swift]Set(集)转换为Array(数组)
- java面试题:Redis常见面试题(实际面试有被问到)
- 计算机网络教程-现代计算机网络(1)
- 第9章 开发实例-文件保险箱
- 赚四五百万,一款打卡作弊软件的 CEO 被判5年6个月!因破坏了钉钉系统获取用户真实地理位置...
- 求伯君:金山电脑公司总裁
- IE和Dom事件流的区别