canvas处理图片为圆形或圆角矩形
来源:互联网 发布:mac退出到桌面快捷键 编辑:程序博客网 时间:2024/05/22 23:46
将bitmap处理为圆形或圆角矩形可以使用canvas重新绘图,通过设置背景与图片的相交部分显示来得到圆形或圆角矩形图片
处理为圆形图片的方法
public static Bitmap getCircleBitmap(Bitmap bit) { Bitmap bitmap = Bitmap.createBitmap(bit.getWidth(), bit.getHeight(), Config.ARGB_8888); Canvas canvas = new Canvas(bitmap);//传入参数后canvas的操作会影响图片 Paint paint = new Paint(); paint.setAntiAlias(true);// 设置抗锯齿 paint.setColor(Color.YELLOW); int radius = bitmap.getWidth()>bitmap.getHeight()?bitmap.getHeight():bitmap.getWidth();// 将较短的那一条边作为直径 canvas.drawCircle(bitmap.getWidth() / 2, bitmap.getHeight() / 2, radius / 2, paint);// 在图片中心画以radius/2为半径的圆形 // 设置相交保留且图片部分显示 paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN)); // 绘制图片 canvas.drawBitmap(bit, 0, 0, paint); return bitmap; }
处理图片为圆角矩形的方法,基本和处理圆形方法一样,只是背景绘制为圆角矩形
public static Bitmap getRoundBitmap(Bitmap bit) { Bitmap bitmap = Bitmap.createBitmap(bit.getWidth(), bit.getHeight(), Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); Paint paint = new Paint(); paint.setAntiAlias(true); paint.setColor(Color.YELLOW); // 绘制作为基准的圆角矩形 RectF rect = new RectF(0, 0, bit.getWidth(), bit.getHeight()); canvas.drawRoundRect(rect, 15, 15, paint);// 画圆角矩形 // 设置相交保留 paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN)); canvas.drawBitmap(bit, 0, 0, paint); return bitmap; }
通过设置bitmap为上述方法返回的bitmap即可得到圆角矩形图片与圆形图片
1 1
- canvas处理图片为圆形或圆角矩形
- Android 自定义 RoundImageView 实现圆角矩形或圆形图片
- iOS 图片设置为圆角矩形,圆形等
- iOS 图片设置为圆角矩形,圆形等
- 图片圆形,矩形圆角
- 自定义圆角矩形图片/圆形图片
- 自定义圆形或者圆角矩形图片
- 用JAVA awt实现Image Asset Studio生成圆形或圆角矩形图片功能
- Glide加载图片显示圆形和圆角矩形图片
- Canvas---Canvas版画图、圆角矩形、圆形、矩形、图形填充、mvc模式重新整合代码版
- android 图片转 圆形和圆角矩形
- android 图片转 圆形和圆角矩形
- Android 自定义Drawable 实现圆角矩形和圆形图片
- Glide 加载圆角或圆形图片
- 截取圆形或圆角图片
- canvas绘制矩形、三角形、圆形
- Android imageView 自定义单个或多个角为圆角及圆形图片工具
- Android 绘制圆角图片(圆形图片,圆角矩形图片,圆角正方形图片)
- android - Adding Recent Query Suggestions
- js事件(Event)知识整理
- java-GUI
- 随笔——java的比喻
- Python脚本程序实现搜索文本文件内容
- canvas处理图片为圆形或圆角矩形
- 架构设计:系统间通信(17)——服务治理与Dubbo 中篇(分析)
- VisualSVN Server提供程序无法执行所尝试的操作 0x80041024
- Linux常用命令(三)磁盘U盘挂载
- iOS开发之SQLite3基础
- 用JS来切换CSS,很好很简单
- 《算法竞赛入门经典2ndEdition 》习题3-7 DNA序列(DNA Consensus String, Uva1368)
- 解决一下github安装不上的问题
- SAX解析XML文件