public void DrawMap(PlaceXmlModel place) { foreach (var item in place.Items) { DrawItem(item); } FitMap(place); AdjustAxis(); }
private void FitMap(PlaceXmlModel place) { if (place.Items?.Count > 0) { double _minX = double.MaxValue; double _maxX = double.MinValue; double _minY = double.MaxValue; double _maxY = double.MinValue; foreach (var p in place.Items[0].Area?.Points) { _maxX = Math.Max(_maxX, double.Parse(p.X)); _minX = Math.Min(_minX, double.Parse(p.X)); _maxY = Math.Max(_maxY, double.Parse(p.Y)); _minY = Math.Min(_minY, double.Parse(p.Y)); } Chart1.PlotOriginX = Math.Round(_minX) - 1; Chart1.PlotOriginY = Math.Round(_minY) - 1; double height = _maxY - _minY + 8; Chart1.PlotHeight = height; Chart1.PlotWidth = this.Width / this.Height * height; } }
public void ExportMap() { PlaceXmlModel map = new PlaceXmlModel(); map.Items = new List <PlaceXmlModel.Item>(); map.Items.Add(examItem); map.Name = "科二地图"; map.Point0 = "0,0"; string path = System.AppDomain.CurrentDomain.BaseDirectory + "Place.xml"; using (FileStream fs = File.Open(path, FileMode.Create, FileAccess.ReadWrite)) { XmlSerializer xmlSerializer = new XmlSerializer(typeof(PlaceXmlModel)); XmlTextWriter textWriter = new XmlTextWriter(fs, Encoding.UTF8); XmlSerializerNamespaces ns = new XmlSerializerNamespaces(); ns.Add("", ""); // 换行 textWriter.Formatting = Formatting.Indented; // 序列化 xmlSerializer.Serialize(textWriter, map, ns); textWriter.Close(); } }