android 圆角图标 和不规则圆角(边框)
来源:互联网 发布:php提交表单发送邮件 编辑:程序博客网 时间:2024/06/04 22:56
android 圆角图标 和不规则圆角(边框)
需要求就是如图 所示
将 原图 变成 圆角 或者不规则的形状,应为桌面主题需要用到。
当然 方法很多 这边提供如下方法。
// 圓角 private Bitmap getRoundedCornerBitmap(Bitmap bitmap) { Bitmap roundBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888); Canvas canvas = new Canvas(roundBitmap); int color = 0xff424242; Paint paint = new Paint(); Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); RectF rectF = new RectF(rect); float roundPx = 50; paint.setAntiAlias(true); canvas.drawARGB(0, 0, 0, 0); paint.setColor(color); canvas.drawRoundRect(rectF, roundPx, roundPx, paint); paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN)); canvas.drawBitmap(bitmap, rect, rect, paint); return roundBitmap; } // 不规则角 private Bitmap getRoundedCornerBitmap(Bitmap bitmap, Bitmap bg) { Paint paint = new Paint(); float scaleX = (float) (bitmap.getWidth() * 1.0 / bg.getWidth()) + 0.1f; float scaleY = (float) (bitmap.getHeight() * 1.0 / bg.getHeight()) + 0.1f; Bitmap scaleBitmap = scaleBitmap(bg, scaleX, scaleY); Bitmap roundBitmap = Bitmap.createBitmap(scaleBitmap.getWidth(), scaleBitmap.getHeight(), Config.ARGB_8888); Canvas canvas = new Canvas(roundBitmap); paint.setAntiAlias(true); canvas.drawBitmap(scaleBitmap, 0, 0, paint); paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN)); canvas.drawBitmap(bitmap, scaleBitmap.getWidth() / 2 - bitmap.getWidth() / 2, scaleBitmap.getHeight() / 2 - bitmap.getHeight() / 2, paint); return roundBitmap; }
DEMO 下载地址
0 0
- android 圆角图标 和不规则圆角(边框)
- Android:圆角和边框
- Android圆角和边框的实现
- android开发 - 圆角和边框
- android开发 - 圆角和边框
- android控件设置边框和圆角
- android圆角边框
- Android边框圆角
- Android 边框圆角
- android 边框圆角
- Android圆角边框
- Android 圆角边框
- Android 边框圆角
- 圆角和边框
- Qt: QLineEdit圆角边框,选中时变色,显示图标
- Qt: QLineEdit圆角边框,选中时变色,显示图标
- 2. android 边框圆角
- Android实现边框圆角
- UITableViewCell的性能优化
- Android命名规范
- Ansible状态管理
- shell统计平均值和BX求值的问题
- 【APUE】6、孤儿进程组
- android 圆角图标 和不规则圆角(边框)
- 目标检测的图像特征提取之(一)HOG特征
- jenkins基于ansible持续集成
- Adb connection Error:远程主机强迫关闭了一个现有的连接 解决方法
- [Java学习] Java实现倒计时代码
- 【独家】这两个人的对决,决定了万科股权大战的走向
- ubuntu 14.04 编译安装bochs 2.6.2
- Haar特征与积分图
- poj 2049(polya)