画图画板示例完事

This commit is contained in:
艾竹
2023-05-20 17:22:12 +08:00
parent 117a500f72
commit 6a9d31c29d
3 changed files with 23 additions and 24 deletions

View File

@@ -26,7 +26,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
base.InitDiagramViewModel();
DiagramViewModel.DiagramOption.LayoutOption.GridCellSize = new Size(100, 100);
DiagramViewModel.DiagramOption.LayoutOption.ShowGrid = false;
DiagramViewModel.DiagramOption.LayoutOption.ShowGrid = true;
DiagramViewModel.DiagramOption.LayoutOption.AllowDrop = true;
_service.DrawModeViewModel.DrawingDrawModeSelected = true;
_service.DrawModeViewModel.DrawingDrawMode = DrawMode.Select;
@@ -98,17 +98,17 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
DiagramViewModel.Add(polygon);
//画正方形
var drawingPoint1 = DrawingHelper.GetPoints(new Point(38, 338), 0, Enumerable.Repeat(new System.Tuple<double, double>(160, 90), 4).ToList());
var drawingPoint1 = DrawingHelper.GetPoints(new Point(38, 518), 0, Enumerable.Repeat(new System.Tuple<double, double>(160, -90), 4).ToList());
DesignerItemViewModelBase directLine1 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint1, true);
DiagramViewModel.Add(directLine1);
//画三角形
var drawingPoint2 = DrawingHelper.GetPoints(new Point(238, 338), 0, Enumerable.Repeat(new System.Tuple<double, double>(160, 120), 3).ToList());
var drawingPoint2 = DrawingHelper.GetPoints(new Point(238, 518), 0, Enumerable.Repeat(new System.Tuple<double, double>(160, -120), 3).ToList());
DesignerItemViewModelBase directLine2 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint2, true);
DiagramViewModel.Add(directLine2);
//画五边形
var drawingPoint3 = DrawingHelper.GetPoints(new Point(438, 338), 0, Enumerable.Repeat(new System.Tuple<double, double>(100, 72), 5).ToList());
var drawingPoint3 = DrawingHelper.GetPoints(new Point(478, 518), 0, Enumerable.Repeat(new System.Tuple<double, double>(100, -72), 5).ToList());
DesignerItemViewModelBase directLine3 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint3, true);
DiagramViewModel.Add(directLine3);
@@ -116,10 +116,10 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
List<System.Tuple<double, double>> tuple4 = new List<System.Tuple<double, double>>();
for (int i = 0; i < 5; i++)
{
tuple4.Add(new System.Tuple<double, double>(70, -144));
tuple4.Add(new System.Tuple<double, double>(70, 72));
tuple4.Add(new System.Tuple<double, double>(70, 144));
tuple4.Add(new System.Tuple<double, double>(70, -72));
}
var drawingPoint4 = DrawingHelper.GetPoints(new Point(638, 338), 0, tuple4);
var drawingPoint4 = DrawingHelper.GetPoints(new Point(750, 408), 0, tuple4);
DesignerItemViewModelBase directLine4 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint4, true);
DiagramViewModel.Add(directLine4);
@@ -127,10 +127,10 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
List<System.Tuple<double, double>> tuple5 = new List<System.Tuple<double, double>>();
for (int i = 0; i < 8; i++)
{
tuple5.Add(new System.Tuple<double, double>(30, 90));
tuple5.Add(new System.Tuple<double, double>(30, -45));
tuple5.Add(new System.Tuple<double, double>(36, -90));
tuple5.Add(new System.Tuple<double, double>(36, 45));
}
var drawingPoint5 = DrawingHelper.GetPoints(new Point(38, 538), 0, tuple5);
var drawingPoint5 = DrawingHelper.GetPoints(new Point(153, 689), 0, tuple5);
DesignerItemViewModelBase directLine5 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint5, true);
DiagramViewModel.Add(directLine5);
@@ -140,11 +140,11 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
{
for (int j = 0; j < 3; j++)
{
tuple6.Add(new System.Tuple<double, double>(80, 120));
tuple6.Add(new System.Tuple<double, double>(80, -120));
}
tuple6.Add(new System.Tuple<double, double>(0, 60));
tuple6.Add(new System.Tuple<double, double>(0, -60));
}
var drawingPoint6 = DrawingHelper.GetPoints(new Point(238, 538), 0, tuple6);
var drawingPoint6 = DrawingHelper.GetPoints(new Point(328, 628), 0, tuple6);
DesignerItemViewModelBase directLine6 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint6, true);
DiagramViewModel.Add(directLine6);
@@ -154,11 +154,11 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
{
for (int j = 0; j < 6; j++)
{
tuple7.Add(new System.Tuple<double, double>(42, 60));
tuple7.Add(new System.Tuple<double, double>(42, -60));
}
tuple7.Add(new System.Tuple<double, double>(0, 60));
tuple7.Add(new System.Tuple<double, double>(0, -60));
}
var drawingPoint7 = DrawingHelper.GetPoints(new Point(438, 538), 0, tuple7);
var drawingPoint7 = DrawingHelper.GetPoints(new Point(528, 628), 0, tuple7);
DesignerItemViewModelBase directLine7 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint7, true);
DiagramViewModel.Add(directLine7);
@@ -168,12 +168,12 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
{
for (int j = 0; j < 8; j++)
{
tuple8.Add(new System.Tuple<double, double>(20, 90));
tuple8.Add(new System.Tuple<double, double>(20, -45));
tuple8.Add(new System.Tuple<double, double>(20, -90));
tuple8.Add(new System.Tuple<double, double>(20, 45));
}
tuple8.Add(new System.Tuple<double, double>(0, 45));
tuple8.Add(new System.Tuple<double, double>(0, -45));
}
var drawingPoint8 = DrawingHelper.GetPoints(new Point(638, 538), 0, tuple8);
var drawingPoint8 = DrawingHelper.GetPoints(new Point(728, 628), 0, tuple8);
DesignerItemViewModelBase directLine8 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint8, true);
DiagramViewModel.Add(directLine8);
}

View File

@@ -30,6 +30,7 @@ namespace AIStudio.Wpf.DiagramDesigner
thisAngle = thisAngle + item.Item2;
}
return points;
}

View File

@@ -44,11 +44,9 @@ namespace AIStudio.Wpf.DiagramDesigner
var figure = new PathFigure { StartPoint = Points[0] };
geometry.Figures.Add(figure);
foreach (var point in Points)
for (int i = 1; i < Points.Count; i++)
{
if (Points[0] == point) continue;
LineSegment arc = new LineSegment(point, true);
LineSegment arc = new LineSegment(Points[i], true);
geometry.Figures[0].Segments.Add(arc);
}