Android基于Path的addRoundRect,Canvas剪切clipPath简洁的圆形图实现,Kotlin(2)

devtools/2024/12/26 8:16:34/

Android基于Path的addRoundRect,Canvas剪切clipPath简洁的圆形图实现,Kotlin(2)

import android.content.Context
import android.graphics.BitmapFactory
import android.graphics.Canvas
import android.graphics.Path
import android.util.AttributeSet
import androidx.appcompat.widget.AppCompatImageViewclass MyView : AppCompatImageView {private var mRadius = 0f //半径private val mPath = Path()constructor(ctx: Context, attributeSet: AttributeSet) : super(ctx, attributeSet) {val mBmpSrc = BitmapFactory.decodeResource(resources, R.mipmap.pic, null)setImageBitmap(mBmpSrc)}override fun onDraw(canvas: Canvas) {canvas.save()val w = measuredWidth.toFloat()val h = measuredHeight.toFloat()val mini = Math.min(w, h)mRadius = mini / 2fval left = (w - mini) / 2fval top = (h - mini) / 2fval right = (w + mini) / 2fval bottom = (h + mini) / 2fmPath.addRoundRect(left, top, right, bottom, mRadius, mRadius, Path.Direction.CW)canvas.clipPath(mPath)super.onDraw(canvas)canvas.restore()}
}

Android基于Path的addRoundRect,Canvas剪切clipPath简洁的圆角矩形实现,Kotlin(1)-CSDN博客文章浏览阅读850次,点赞12次,收藏8次。Android RoundedBitmapDrawable:Android官方的圆角图形图象实现方案RoundedBitmapDrawable是Android在support v4的扩展包中新增的实现圆角图形的关键类,借助RoundedBitmapDrawable的帮助,可以轻松的以Android标准方式实现圆角图形图象。头像有标准的四方形,也有圆形(如QQ)。Android水平渐变色圆角矩形一个Android水平渐变色圆角矩形,如图:其实实现很简单,主要感觉颜色渐变,圆角弧度比较漂亮,故记录下来。https://blog.csdn.net/zhangphil/article/details/144586015


http://www.ppmy.cn/devtools/145486.html

相关文章

在 CentOS 系统上安装 ClickHouse

在 CentOS 系统上安装 ClickHouse 数据库相对简单,可以通过官方提供的安装包来进行。以下是详细的安装步骤。 1. 更新系统 首先,确保你的系统是最新的,更新软件包和系统库: sudo yum update -y2. 安装依赖库 ClickHouse 需要一…

Leetcode 394-字符串解码

给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。 你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且…

JVM简介—垃圾回收器和内存分配策略

1.垃圾回收概述 2.如何判断对象存活 (1)引用计数算法 给对象添加一个引用计数器,每当一个地方引用它时就将计数器加1,当引用失效时就将计数器减1,任何时刻计数器为0的对象都不再被使用。 这种算法简单,但是有个致命的缺点&#xf…

AI领域年度精彩报告┆国家优青马超教授:自动驾驶多模态场景理解与生成

本文为马超教授在2024年中国图象图形学学会青年科学家会议中所作的精彩报告《自动驾驶多模态场景理解与生成》的节选,经马老师同意后分享给读者,文中所有材料已经取得作者授权。 1.报告嘉宾介绍 马超,上海交通大学人工智能研究院教授&#x…

怎么将PDF压缩大小?PDF文件进行压缩的几个方法推荐

怎么将PDF压缩大小?一个包含复杂排版和高清图像的PDF文件,在传输过程中往往因文件过大而难以发送,尤其是在电子邮件附件有大小限制的情况下,或者当需要通过云服务分享时,过大的文件会消耗过多的网络带宽和存储空间&…

vue3入门教程:ref能否完全替代reactive?

1. 使用场景与数据类型 ref: 主要用于基本数据类型(如String、Number、Boolean等)。也可以用于对象/数组,但需要通过.value访问。适合单个响应式数据的管理。 reactive: 主要用于对象类型(如Object、Array…

【C++】初识C++之C语言加入光荣的进化(上)

写在前面 本篇笔记作为C的开篇笔记,主要是讲解C关键字(C98)连带一点点(C11)的知识。掌握的C新语法新特性,当然C是兼容C的,我们学习C的那套在C中也是受用。 文章目录 写在前面一、命名空间域1.1、命名空间域的定义与使用1.2、命名空间域的细节…

常见问题解决方案:Keen CommonWeb 开源项目

常见问题解决方案:Keen CommonWeb 开源项目 common-web Turn web user activity into a analyzable stream of JSON event data [这里是图片001] 项目地址: https://gitcode.com/gh_mirrors/co/common-web 一、项目基础介绍 Keen CommonWeb 是一个开源的 JavaScr…