Ejemplo n.º 1
0
 /// <summary>
 /// Добавляет ответ в коллекцию на основе данных о ячейках
 /// </summary>
 /// <param name="image">Ссылка на изображение</param>
 /// <param name="ID">Идентификатор ответа</param>
 /// <param name="CellsCount">Число ячеек</param>
 /// <param name="FirstCellDistances">Коллекция расстояний до превой ячейки</param>
 /// <param name="intercentresdistX">Расстояние между сетнтрами ячеек в пискселях</param>
 /// <param name="cellswidth">Ширина ячеек</param>
 /// <param name="cellsheight">Высота ячеек</param>
 public void Add(Bitmap image, int ID, int CellsCount, Distances FirstCellDistances, int intercentresdistX, int cellswidth, int cellsheight)
 {
     Answer a = new Answer(image, ID, CellsCount, FirstCellDistances, intercentresdistX, cellswidth, cellsheight);
     this.Add(a);
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Добавляет ответ в коллекцию
 /// </summary>
 /// <param name="answer">Ответ</param>
 public void Add(Answer answer)
 {
     _answers.Add(answer);
 }
Ejemplo n.º 3
0
        private void RecogForm_Load(object sender, EventArgs e)
        {
            answs = new Answers();
            testsparam t = _ge.testsparams.First(tp => tp.idt == _testid);
            t.answersparams.Load();
            foreach (answersparam ap in t.answersparams)
            {
                Answer aga = new Answer();
                aga.Id = ap.num.Value;
                ap.cellsparams.Load();
                foreach (cellsparam cp in ap.cellsparams)
                {
                    Cell c = new Cell();
                    c.ContentDescription = cp.description.Trim();
                    aga.Cells.Add(c);
                }
                answs.Add(aga);

            }
            human h = _fe.humans.First(hh => hh.idh == _humanid);

            this.Text = "Распознавание бланка: " + t.description + " для " + h.secondname + " " + h.firstname;
        }
Ejemplo n.º 4
0
        public void CreateCells(Answer Answer)
        {
            this.SuspendLayout();
            _answer = Answer;

             //add button whith number of button
            btn_ans = new Button();
            this.btn_ans.Location = new Point(0, 2);
            this.btn_ans.Size = new Size(95, 30);
            this.btn_ans.FlatStyle = FlatStyle.Popup;
            this.btn_ans.TextAlign = ContentAlignment.MiddleCenter;
            this.btn_ans.Text = _answer.Id.ToString();
            this.Controls.Add(btn_ans);

            int _rbcount = _answer.Cells.Count;
            //addbutton_noanswer

            rb = new RadioButton();

            rb.Location = new Point(100, 2);
            rb.Size = new Size(40, 30);
            rb.Appearance = Appearance.Button;
            rb.FlatStyle = FlatStyle.Flat;
            rb.TextAlign = ContentAlignment.MiddleCenter;
            rb.Text = "Б/О";
            rb.CheckedChanged += new EventHandler(rb_CheckedChanged);
            this.RedLight();
            _null = rb;
            this.Controls.Add(rb);

            //add all buttons
            int x = 145;
            for (int i = 0; i < _rbcount; i++)
            {

                RadioButton newrb = new RadioButton();
                newrb.Location = new Point(x, 2);
                newrb.Size = new Size(40, 30);
                newrb.Appearance = Appearance.Button;
                newrb.FlatStyle = FlatStyle.Flat;
                newrb.TextAlign = ContentAlignment.MiddleCenter;
                newrb.Text = _answer.Cells[i].ContentDescription;
                newrb.CheckedChanged += new EventHandler(newrb_CheckedChanged);
                _controlcells.Add(newrb);
                this.Controls.Add(newrb);

                x += 40 + 5;
            }
            //add textedit with flatstile
            newtb = new TextBox();
            newtb.Location = new Point(x, 6);
            newtb.Size = new Size(20, 30);
            newtb.BorderStyle = BorderStyle.FixedSingle;
            newtb.MaxLength = 1;
            newtb.TextChanged += new EventHandler(newtb_TextChanged);
            newtb.GotFocus += new EventHandler(newtb_GotFocus);
            this.Controls.Add(newtb);
            x += 20;
            this.ShowContent();
            this.Width = x + 5;
            this.ResumeLayout(true);
        }
Ejemplo n.º 5
0
        private void FillAnswerGrid()
        {
            _answers = new Answers();

            _testparam.answersparams.Load();
            foreach (answersparam ap in _testparam.answersparams)
            {
                Answer aga = new Answer();
                aga.Id = ap.num.Value;
                ap.cellsparams.Load();
                foreach (cellsparam cp in ap.cellsparams)
                {
                    Cell c = new Cell();
                    c.ContentDescription = cp.description.Trim();
                    aga.Cells.Add(c);
                }
                _answers.Add(aga);
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Добавляет ответ в коллекцию на основе данных о ячейках
        /// </summary>
        /// <param name="image">Ссылка на изображение</param>
        /// <param name="ID">Идентификатор ответа</param>
        /// <param name="CellsCount">Число ячеек</param>
        /// <param name="FirstCellDistances">Коллекция расстояний до превой ячейки</param>
        /// <param name="intercentresdistX">Расстояние между сетнтрами ячеек в пискселях</param>
        /// <param name="cellswidth">Ширина ячеек</param>
        /// <param name="cellsheight">Высота ячеек</param>
        public void Add(Bitmap image, int ID, int CellsCount, Distances FirstCellDistances, int intercentresdistX, int cellswidth, int cellsheight)
        {
            Answer a = new Answer(image, ID, CellsCount, FirstCellDistances, intercentresdistX, cellswidth, cellsheight);

            this.Add(a);
        }
Ejemplo n.º 7
0
 /// <summary>
 /// Добавляет ответ в коллекцию
 /// </summary>
 /// <param name="answer">Ответ</param>
 public void Add(Answer answer)
 {
     _answers.Add(answer);
 }
Ejemplo n.º 8
0
        public void Prerecognize()
        {
            try
               {
               _canvas = new Canvas((Bitmap)_image.Clone(), 8.0d);
               _canvas.RecognizeImage();

               testsparam t = _ge.testsparams.First(tp => tp.idt == _testid);

               t.answersparams.Load();
               IEnumerable<answersparam> answers = t.answersparams.Where(a => a.idt == t.idt);
               foreach (answersparam a in answers)
               {
                   Distances _distances = new Distances();
                   _distances.Add(_canvas.TopLeftMarker, (double)a.toplx, (double)a.toply);
                   _distances.Add(_canvas.TopRightMarker, (double)a.toprx, (double)a.topry);
                   _distances.Add(_canvas.BottomLeftMarker, (double)a.blx, (double)a.bly);
                   _distances.Add(_canvas.BottomRightMarker, (double)a.brx, (double)a.bry);

                   Answer _answer = new Answer(_canvas.CorrectedImage, (int)a.num, (int)a.cellscount, _distances, (int)a.intercellswidth, (int)a.cellswidth, (int)a.cellshight);

                   IEnumerable<cellsparam> cells = a.cellsparams.Where(c => c.ida == a.ida);
                   a.cellsparams.Load();
                   int i = 0;
                   foreach (cellsparam cp in cells)
                   {
                       _answer.Cells[i].ContentDescription = cp.description.Trim();
                       i++;
                   }

                   _canvas.Answers.Add(_answer);
               }
               OnRecItem();
               }
               catch (Exception ex) { throw ex; }
        }
Ejemplo n.º 9
0
        private void cmd_addtest_Click(object sender, EventArgs e)
        {
            this.lst_answ.Items.Clear();
            _canvas = new Canvas((Bitmap)this.pb_img.Image,8d);
            _canvas.RecognizeImage();
            this.pb_img.Image = _canvas.CorrectedImage;

               //KetelData td = new KetelData();
            pBaseEntities pb = new pBaseEntities();

               // modulData md = new modulData();
               // testsparam tst =  testsparam.Createtestsparam(0, "ОПРОСНИК МОДУЛЬ", 200, true);
               // for (int a = 0; a < tst.answerscount; a++)
               // {
               //     answersparam ap = answersparam.Createanswersparam(0, tst.idt, "Вопрос № " + (a + 1), 2);
               //     ap.num = a + 1;
               //     ap.buttondescription = md.answers[a].text;
               //     ap.intercellswidth = 27;
               //     ap.cellshight = 25;
               //     ap.cellswidth = 25;
               //     ap.toplx = 0;
               //     ap.toply = 0;
               //     ap.toprx = 0;
               //     ap.topry = 0;
               //     ap.blx = 0;
               //     ap.bly = 0;
               //     ap.brx = 0;
               //     ap.bry = 0;

               //     cellsparam cp = cellsparam.Createcellsparam(0, ap.ida);
               //     cp.description = "Да";
               //     cp.buttonsescription = "Да";
               //     cp.mark = md.answers[a].isYes?md.answers[a].mark:0;
               //     cellsparam cp1 = cellsparam.Createcellsparam(0, ap.ida);
               //     cp1.description = "Нет";
               //     cp1.buttonsescription = "Нет";
               //     cp1.mark = md.answers[a].isYes ? 0 : md.answers[a].mark;

               //     ap.cellsparams.Add(cp);
               //     ap.cellsparams.Add(cp1);

               //     tst.answersparams.Add(ap);

               // }

               //pb.testsparams.AddObject(tst);
               // pb.SaveChanges();

            testsparam t = pb.testsparams.First(tp => tp.idt == (int)EnumPTests.NPNA);
            t.answersparams.Load();
            IEnumerable<answersparam> answers = t.answersparams;

            foreach (answersparam ap in answers)
            {
                ListViewItem it = new ListViewItem(ap.num.ToString());
                it.SubItems.Add(ap.ida.ToString());
                it.SubItems.Add(ap.description.ToString());
                it.SubItems.Add(ap.intercellswidth.ToString());
                it.SubItems.Add(ap.cellswidth.ToString());
                it.SubItems.Add(ap.cellshight.ToString());
                it.SubItems.Add(ap.toplx.ToString());
                it.SubItems.Add(ap.toply.ToString());
                this.lst_answ.Items.Add(it);
                //добавляем вопросы на грид
                //создаем коллекцию дистанций для каждого ответа

                Distances _distances = new Distances();
                _distances.Add(_canvas.TopLeftMarker, (double)ap.toplx, (double)ap.toply);
                _distances.Add(_canvas.TopRightMarker, (double)ap.toprx, (double)ap.topry);
                _distances.Add(_canvas.BottomLeftMarker, (double)ap.blx, (double)ap.bly);
                _distances.Add(_canvas.BottomRightMarker, (double)ap.brx, (double)ap.bry);

                //_distances.Add(_canvas.TopLeftMarker, 100, 100);
                //_distances.Add(_canvas.TopRightMarker, 100, 100);
                //_distances.Add(_canvas.BottomLeftMarker, 100, 100);
                //_distances.Add(_canvas.BottomRightMarker, 100, 100);

                //создаем ответы
                Answer _answer = new Answer(_canvas.CorrectedImage, (int)ap.ida, (int)ap.cellscount, _distances, (int)ap.intercellswidth, (int)ap.cellswidth, (int)ap.cellshight);
                _answer.Select();
                _canvas.Answers.Add(_answer);

            }
        }