c# - 如何在列表中添加线坐标,然后使用它们再次绘制线?
问题描述
这就是我正在尝试的:
private List liLines = new List<int>;
CDrawer can = new CDrawer(800, 800);
public void Form1_Load(object sender, EventArgs e)
{
can.MouseLeftClick += new GDIDrawerMouseEvent(Can_MouseLeft);
can.MouseRightClick += new GDIDrawerMouseEvent(Can_MouseRight);
System.Threading.Thread.Sleep(50);
}
void DrawLineItem()
{
can.AddLine(X1, Y1, X2, Y2, Color.White, 5);
liLines.Add(new DrawLineItem(X1, Y1, X2, Y2));
}
请帮忙。谢谢。
解决方案
从臀部射击(仅限基础):定义
class Coord { public double X; public double Y; Coord(double x, double y) { X = x; Y = y; } }
class Line { public Coord P1; public Coord P2; Line(Coord p1, Coord p2) { P1 = p1; P2 = p2; } }
然后你可以使用var lines = new List<Line>()
并做lines.Add(new Line(new Coordinate(1,2), new Coordinate(3,4));
.
推荐阅读
- vb.net - DataTable.GetChanges() 未按预期工作
- java - 使用 JSONPath 遍历大型 JSON 数组
- javascript - Sharing Variables Between Files (Without Globals)
- cgal - 是否可以将 Projection_traits_xy_3 适配器与“2D Polyline Simplification”包一起使用来简化 CGAL 的 2.5D 多段线?
- python - 数据框中特定列的乘法
- python - 无法在条目小部件上设置焦点()
- webpack - 我们是否应该关注 nativescript 共享代码库中 node_modules 文件夹的大小?
- ionic-framework - Xcode 更新后要模拟的问题
- java - JUnit 测试控制台输入应用程序
- dart - 未处理的异常:“String”类型不是“double”SQFlite 类型的子类型