mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-29 20:58:47 +00:00
修复PieChart在设置Space参数后动画绘制异常的问题
This commit is contained in:
@@ -655,17 +655,24 @@ namespace XCharts
|
||||
realCenter += borderDiff * middleDire;
|
||||
borderAngle = 2 * Mathf.Asin(borderWidth / (2 * radius));
|
||||
realStartAngle = realStartAngle + borderAngle;
|
||||
realToAngle = realToAngle - borderAngle;
|
||||
if (realToAngle < realStartAngle)
|
||||
{
|
||||
realToAngle = realStartAngle;
|
||||
p2 = GetPos(p, radius, realStartAngle);
|
||||
}
|
||||
else
|
||||
{
|
||||
var borderX1 = GetPos(p, radius, realStartAngle);
|
||||
DrawPolygon(vh, realCenter, spaceCenter, p2, borderX1, borderColor);
|
||||
p2 = borderX1;
|
||||
|
||||
realToAngle = realToAngle - borderAngle;
|
||||
if (realToAngle < realStartAngle) realToAngle = realStartAngle;
|
||||
var borderX2 = GetPos(p, radius, realToAngle);
|
||||
var pEnd = GetPos(p, radius, toAngle - spaceAngle);
|
||||
DrawPolygon(vh, realCenter, borderX2, pEnd, spaceCenter, borderColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
float segmentAngle = (realToAngle - realStartAngle) / segments;
|
||||
for (int i = 0; i <= segments; i++)
|
||||
{
|
||||
@@ -675,6 +682,8 @@ namespace XCharts
|
||||
p2 = p3;
|
||||
}
|
||||
if (needBorder || needSpace)
|
||||
{
|
||||
if (realToAngle > realStartAngle)
|
||||
{
|
||||
var borderX2 = p + radius * GetDire(realToAngle);
|
||||
DrawTriangle(vh, realCenter, p2, borderX2, toColor, color, color);
|
||||
@@ -687,6 +696,7 @@ namespace XCharts
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static Vector3 GetPos(Vector3 center, float radius, float angle, bool isDegree = false)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user