Sector
Sector(扇形)是最复杂的图形。
Sector的起始角度由StartAngle属性决定,0度位置为中心向上的方向,扫描角度数由SweepAngle属性决定(顺时针为正),扇形的半径由OuterRadius(外圆半径)决定 例如:
[StartAngle = 30, SweepAngle = 60, CenterRadius = 0, CornerRadius = 10, InnerRadius = 0, OuterRadius = 100]
和 其他形状相比,Sector多了一个CenterRadius 属性,用于设置中心圆的逻辑半径,下图有红色和蓝色两个Sector,其中红色Sector的CenterRadius属性为0,而蓝色Sector的CenterRadius属性为10,其它属性安全相同:
如果设置了InnerRadius(内圆半径) ,则Sector会成为弧形:
[StartAngle = 30, SweepAngle = 60, CenterRadius = 0, CornerRadius = 10, InnerRadius = 45, OuterRadius = 100]
显然扇形的径向宽度 为OuterRadius减去InnerRadius 得到的差值,所以InnerRadius必须比OuterRadius小,且二者的差值不能太小。
但有的时候希望保持径向宽度不变的情况下,增加InnerRadius的值,目的是让内圆弧线变得平缓一些,此时可以使用InnerOffset 移动内圆的圆心。
例如下图,InnerRadius 和OuterRadius 都是100,但是InnerOffset为-60,所以弧形的径向宽度为60:
[StartAngle = 30, SweepAngle = 60, CenterRadius = 0, CornerRadius = 0, InnerOffset = -60, InnerRadius = 100, OuterRadius = 100]
InnerRadius 可以为负值,此时内圆弧线会反向绘制,形成一个特别的形状,我们经常用这种形状作为仪表的轮廓: