Android 如何使用等效于特定dp的rQuadTo创建圆角路径?

Android 如何使用等效于特定dp的rQuadTo创建圆角路径?,android,xml,android-layout,math,graphics,Android,Xml,Android Layout,Math,Graphics,作为背景,我不熟悉Android图形。我正在尝试创建一个带有圆角的矩形,具体使用如下方法(我不想使用方法addRoundRect,因为我稍后会将我的路径对象更改为非矩形)。我希望它的曲率与a相同,角半径为12 dp。我想使用的方法或(基于此),但我有点困惑如何让角落,以配合彼此完美。有人能解释一下如何实现这一点背后的数学原理吗?设置半径对于可绘制资源形状的确切含义是什么(定义正确吗?)?视觉效果也会有帮助!谢谢。是的,链接包含正确的定义 要使用二次BezierquadTo构建圆角,应在拐角位置之

作为背景,我不熟悉Android图形。我正在尝试创建一个带有圆角的矩形,具体使用如下方法(我不想使用方法
addRoundRect
,因为我稍后会将我的
路径
对象更改为非矩形)。我希望它的曲率与a相同,角半径为12 dp。我想使用的方法或(基于此),但我有点困惑如何让角落,以配合彼此完美。有人能解释一下如何实现这一点背后的数学原理吗?设置半径对于可绘制资源形状的确切含义是什么(定义正确吗?)?视觉效果也会有帮助!谢谢。

是的,链接包含正确的定义

要使用二次Bezier
quadTo
构建圆角,应在拐角位置之前的距离
r=12处开始曲线(结束直线),使控制点精确位于拐角位置(以提供对称性),并在垂直边拐角之后的距离
r
处创建端点。二次贝塞尔曲线并没有给出完美的圆弧,但对于小尺寸而言并不重要

示例:
右角方向的水平边缘
100100

线的端点是
88100
。(和曲线的起点)

quadto(100100100112)
是,链接包含正确的定义

要使用二次Bezier
quadTo
构建圆角,应在拐角位置之前的距离
r=12处开始曲线(结束直线),使控制点精确位于拐角位置(以提供对称性),并在垂直边拐角之后的距离
r
处创建端点。二次贝塞尔曲线并没有给出完美的圆弧,但对于小尺寸而言并不重要

示例:
右角方向的水平边缘
100100

线的端点是
88100
。(和曲线的起点)
quadto(100100100112)