您需要构建一个使用弧线标识路径的字符串,这是 WPF 支持的。
该字符串遵循语法on this page。
但是,参数必须先转换为语法中给出的弧形格式,
因为使用的值有点不同:
首先,将角度a1 和a2 转换为弧度(如果它们尚未转换)。
a1=a1*Math.PI/180;
a2=a2*Math.PI/180;
然后,计算圆弧的起点和终点:
double startX = centerX+Math.Cos(a1)*r;
double startY = centerY+Math.Sin(a1)*r;
double endX = centerX+Math.Cos(a2)*r;
double endY = centerY+Math.Sin(a2)*r;
然后,计算角度差是否大于或等于PI,然后a1是否小于a2。
bool largeArc = Math.Abs(a2-a1)>=Math.PI;
bool sweep = (a1<a2);
最后,构建路径。
string path=String.Format(System.Globalization.CultureInfo.InvariantCulture,
"M {0},{1} A {2},{3} 0 {4} {5} {6},{7}",startX,startY,r,r,
largeArc ? 1 : 0, sweep ? 1 : 0,endX,endY);
这是您将用于定义路径的路径字符串,而不是 Path 对象。