private void Btn_Generat_OnClick(object sender, RoutedEventArgs e) { var generator = (sender as Button).Tag as IExamItemGenerator; if (!generator.CheckPointCount(RealVisualMap1.OriginalPoints.Count)) { MessageBox.Show("原始点数量不对!"); return; } RealVisualMap1.GenerateItem(generator); RealVisualMap1.ExportMap(); MessageBox.Show("生成的地图文件保存在程序根目录下,目前还需要手动修改项目Flag,区域Flag,和开始区域!目前一次只能生成一个项目,生成当前项目会覆盖上一个项目,请及时另存为当前生成项目文件。"); }
private void LoadMap(string path) { if (File.Exists(path)) { using (StreamReader sr = File.OpenText(path)) { RealVisualMap1.ClearPlot(); XmlSerializer xmlSerializer = new XmlSerializer(typeof(PlaceXmlModel)); var place = xmlSerializer.Deserialize(sr) as PlaceXmlModel; RealVisualMap1.DrawMap(place); } } }
private void LoadPoint(string path) { if (File.Exists(path)) { originPoints.Clear(); RealVisualMap1.ClearPlot(); using (StreamReader sr = new StreamReader(path)) { string str; while ((str = sr.ReadLine()) != null) { string coordinateStr = str.Split(' ')[2]; string[] coordinateStrs = coordinateStr.Split(','); string x = coordinateStrs[0].Split('=')[1]; string y = coordinateStrs[1].Split('=')[1]; y = y.Substring(0, y.Length - 1); originPoints.Add(new Point(double.Parse(x), double.Parse(y))); RealVisualMap1.OriginalPoints.Add(new MapPoint(originPoints.Last().X, originPoints.Last().Y)); } } RealVisualMap1.AdjustAxis(); } }