我有一个非常简单的Geometry
对象:
var geometry = Geometry.Parse("F1M-76,-26.5L14,-26.5 14,-17.5 156,-17.5");
我想获得Geometry
对象内的点:
-76,-26.5
14,-26.5
14,-17.5
156,-17.5
获得这些积分的最佳方式是什么?
我试过了:
var allfigs = geometry.GetFlattenedPathGeometry().Figures.ToList();
allfigs.AddRange(geometry.GetOutlinedPathGeometry().Figures);
allfigs.AddRange(geometry.GetWidenedPathGeometry(new Pen()).Figures);
给我数字的唯一一行是最后一行,但这些数字中的点与原始点不匹配......它们被Pen
的宽度
答案 0 :(得分:1)
试试这个:
var geometry = Geometry.Parse("F1M-76,-26.5L14,-26.5 14,-17.5 156,-17.5");
char[] UpperCaseChars = new char[]
{
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X',
'Y', 'Z',' '
};
int indexOfM = geometry.ToString().IndexOf('M');
var a = geometry.ToString().Substring(indexOfM).Split(UpperCaseChars);