private Skeleton Read_path() { OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.Filter = "XML files (*.xml)|*.xml"; openFileDialog1.FilterIndex = 1; openFileDialog1.RestoreDirectory = true; Skeleton sk = new Skeleton(); if (openFileDialog1.ShowDialog() == DialogResult.OK) { try { sk = (Skeleton)XML_Worker.Read_from_xml(typeof(Skeleton), openFileDialog1.FileName); Bitmap bm = new Bitmap(sk.Size.X, sk.Size.Y); foreach (Skeleton.cell sc in sk.list_of_cell) { foreach (Skeleton.node sn in sc.list_of_node) { bm.SetPixel(sn.x, sn.y, Color.White); } } ibReader.Image = new Image <Gray, byte>(bm); toolStripStatusLabel1.Text = "Прочитан XML файл: " + openFileDialog1.FileName; } catch (Exception ex) { MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message); } } return(sk); }
private void button7_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.Filter = "XML files (*.xml)|*.xml"; openFileDialog1.FilterIndex = 1; openFileDialog1.RestoreDirectory = true; Structure s = new Structure(); if (openFileDialog1.ShowDialog() == DialogResult.OK) { try { s = (Structure)XML_Worker.Read_from_xml(typeof(Structure), openFileDialog1.FileName); foreach (Element el in s.list_of_elements) { ocr.AddElement(el); } foreach (Relation r in s.list_of_relations) { if (r.itRel()) { int numelem1 = -1, numrel1 = -1; for (int i = 0; i < ocr.GetCountOfElements(); i++) { if ((ocr.GetElement(i).Coordinate.X == r.GetElem(1).Coordinate.X) && (ocr.GetElement(i).Coordinate.Y == r.GetElem(1).Coordinate.Y)) { numelem1 = i; } } for (int i = 0; i < ocr.GetCountOfRelations(); i++) { if ((ocr.GetRelation(i).Coordinate.X == r.GetRel().Coordinate.X) && (ocr.GetRelation(i).Coordinate.Y == r.GetRel().Coordinate.Y)) { numrel1 = i; } } ocr.AddRelation(new Relation(ocr.GetRelation(numrel1), ocr.GetElement(numelem1), r.Coordinate.X, r.Coordinate.Y)); } else { int numelem1 = -1, numelem2 = -1; for (int i = 0; i < ocr.GetCountOfElements(); i++) { if ((ocr.GetElement(i).Coordinate.X == r.GetElem(1).Coordinate.X) && (ocr.GetElement(i).Coordinate.Y == r.GetElem(1).Coordinate.Y)) { numelem1 = i; } if ((ocr.GetElement(i).Coordinate.X == r.GetElem(2).Coordinate.X) && (ocr.GetElement(i).Coordinate.Y == r.GetElem(2).Coordinate.Y)) { numelem2 = i; } } ocr.AddRelation(new Relation(ocr.GetElement(numelem1), ocr.GetElement(numelem2), r.Coordinate.X, r.Coordinate.Y)); } ocr.SetRelationParametrs(ocr.GetCountOfRelations() - 1, r); } } catch (Exception ex) { MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message); } } }