android 自己绘画圆形文字bitmap
2015-10-31 21:07
429 查看
项目前段时间做的一个小任务,就是要给每个用户自己定义一个头像,(仿钉钉的用户头像那样子)。废话不多说,直接上代码。
public class DrawUtils { /** * * @param bitmapColor 圆的颜色 * @param backColor 图片背景颜色 * @param txtColor 文字的颜色 * @param text 文字 * @param circleWidth 图片宽度 * @param circleHeight 图片高度 * @return */ public Bitmap drawImg(int bitmapColor,int backColor,int txtColor,String text,int circleWidth,int circleHeight){ if(circleHeight <= 0){ //做判断,如果传入的高度为0,则默认为60 circleHeight = 60; } if(circleWidth <= 0){ //做判断,如果传入的宽度为0,则默认为60 circleWidth = 60; } if(text == null){ //如果传入的文字为空,则设置为空格 text = " "; } Bitmap bitmap = Bitmap.createBitmap(circleWidth, circleHeight, Config.ARGB_8888);//设置生成的bitmap为高清 Canvas canvas = new Canvas(bitmap); canvas.drawColor(bitmapColor); Paint paint = new Paint(); paint.setAntiAlias(true); paint.setColor(backColor); int raduis = Math.min(bitmap.getWidth()/2, bitmap.getHeight()/2); canvas.drawCircle(bitmap.getWidth()/2, bitmap.getHeight()/2, raduis, paint); Paint txtPaint = new Paint(Paint.ANTI_ALIAS_FLAG); txtPaint.setTextSize(bitmap.getHeight()/3); txtPaint.setColor(txtColor); txtPaint.setStrokeWidth(10); txtPaint.setTextSize(bitmap.getHeight()/3); float txtWid = txtPaint.measureText(text); if(text.length() == 1){ canvas.drawText(text,(bitmap.getWidth()-txtWid)/2, bitmap.getHeight()/2+bitmap.getHeight()/3/2, txtPaint); }else{ canvas.drawText(text,(bitmap.getWidth()-txtWid)/text.length(), bitmap.getHeight()/2+bitmap.getHeight()/3/2, txtPaint); } canvas.save(Canvas.ALL_SAVE_FLAG); canvas.restore(); return bitmap; } }这样子就可以实现自己绘画出的
相关文章推荐
- android开发日志之2048安卓版
- 浅谈Android RecyclerView
- Android学习之初识xUtils
- Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)
- Android 开源框架Universal-Image-Loader完全解析(一)--- 基本介绍及使用
- android SQLiteDatabase数据库使用的时候 常见问题
- android 之 spinner的简单使用
- Android-Universal-Image-Loader学习笔记(一)
- Android-Universal-Image-Loader最新框架解析
- Android 不通过USB数据线调试的方法
- Android Activity四种启动模式
- 安卓Handler机制的简单介绍——随机点名案例
- android左右滑动翻页查看图片
- 《Android开发技术周报》笔记
- Android中加载超大图片(世界地图)
- Android中布局优化
- android studio入门
- Android JNI开发流程(android开发艺术探索随笔)
- Android IOS WebRTC 音视频开发总结(四九)-- ffmpeg介绍
- Android中的SQLite使用