Может ли кто-нибудь помочь мне с проблемой использования PathGeometry?
Когда я рисую геометрию, содержащую небольшой перекрывающийся сегмент линии, она рисуется дольше, чем ожидалось. Есть идеи, почему и как это исправить? Спасибо!
var figure = new PathFigure();
var segment = new PolyLineSegment();
Point point = new Point(0, 0);
segment.Points.Add(point);
**point = new Point(0, 10);
segment.Points.Add(point);
point = new Point(0, 10.1);
segment.Points.Add(point);
point = new Point(0, 10);
segment.Points.Add(point);**
point = new Point(10, 10);
segment.Points.Add(point);
point = new Point(10, 0);
segment.Points.Add(point);
figure.Segments.Add(segment);
if (segment.Points.Count > 0)
figure.StartPoint = segment.Points[0];
figure.IsClosed = true;
pathGeom.Figures.Add(figure);
Если добавить еще один сегмент линии с точками (0, 11) (10, 11), вы увидите, что точка (0,11) находится поверх точки (0, 10.1) в приведенной выше геометрии.
Код и результат:
var figure2 = new PathFigure();
var segment2 = new PolyLineSegment();
point = new Point(0, 11);
segment2.Points.Add(point);
point = new Point(10, 11);
segment2.Points.Add(point);
figure2.Segments.Add(segment2);
if (segment2.Points.Count > 0)
figure2.StartPoint = segment2.Points[0];
figure2.IsClosed = false;
pathGeom.Figures.Add(figure2);
Может ли кто-нибудь помочь мне с проблемой использования PathGeometry? Когда я рисую геометрию, содержащую небольшой перекрывающийся сегмент линии, она рисуется дольше, чем ожидалось. Есть идеи, почему и как это исправить? Спасибо!
код и результат: [code]var figure = new PathFigure(); var segment = new PolyLineSegment();
Point point = new Point(0, 0); segment.Points.Add(point); **point = new Point(0, 10); segment.Points.Add(point); point = new Point(0, 10.1); segment.Points.Add(point); point = new Point(0, 10); segment.Points.Add(point);** point = new Point(10, 10); segment.Points.Add(point); point = new Point(10, 0); segment.Points.Add(point); figure.Segments.Add(segment);
if (segment.Points.Count > 0) figure.StartPoint = segment.Points[0]; figure.IsClosed = true; pathGeom.Figures.Add(figure); [/code] [img]https://i.sstatic.net/Mn2PVjpB.png[/img] Если добавить еще один сегмент линии с точками (0, 11) (10, 11), вы увидите, что точка (0,11) находится поверх точки (0, 10.1) в приведенной выше геометрии. Код и результат: [code]var figure2 = new PathFigure(); var segment2 = new PolyLineSegment();
point = new Point(0, 11); segment2.Points.Add(point); point = new Point(10, 11); segment2.Points.Add(point); figure2.Segments.Add(segment2);