本文整理汇总了C#中StylusPointCollection.RemoveAt方法的典型用法代码示例。如果您正苦于以下问题:C# StylusPointCollection.RemoveAt方法的具体用法?C# StylusPointCollection.RemoveAt怎么用?C# StylusPointCollection.RemoveAt使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类StylusPointCollection
的用法示例。
在下文中一共展示了StylusPointCollection.RemoveAt方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: toPolyline
public static StylusPointCollection toPolyline(StylusPointCollection points_)
{
const int separation = 3;
if (points_.Count <= 1) return new StylusPointCollection(points_);
StylusPointCollection points = resample(points_, 3);
StylusPointCollection r = new StylusPointCollection();
r.Add(points[0]);
int i;
for (i = separation; i + separation < points.Count; ++i)
{
StylusPoint prev = points[i - separation], cur = points[i], next = points[i + separation];
double dx1 = cur.X - prev.X, dy1 = cur.Y - prev.Y;
double n1 = Math.Sqrt(dx1 * dx1 + dy1 * dy1);
dx1 /= n1; dy1 /= n1;
double dx2 = next.X - cur.X, dy2 = next.Y - cur.Y;
double n2 = Math.Sqrt(dx2 * dx2 + dy2 * dy2);
dx2 /= n2; dy2 /= n2;
if (dx1 * dx2 + dy1 * dy2 < 0.7)
{
if (i < separation*2)
{
r.RemoveAt(0);
}
r.Add(points[i]);
i = i + separation * 2 - 1;
}
}
if (i + separation == points.Count)
{
r.Add(points[points.Count - 1]);
}
return r;
}