コード例 #1
0
        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);
        }
コード例 #2
0
ファイル: Main_Form.cs プロジェクト: AlexVictorne/CharReco
        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);
                }
            }
        }