コード例 #1
0
        private void UpdateField()
        {
            //One or more of the fields properties changed so we need to update the field data
            //which is stored in the annotation objects UserData
            FormField currentField = _ocrField;
            string    fieldType    = (currentField is TextFormField) ? "Text" : "Omr";

            switch (fieldType)
            {
            case "Text":
                if (!(currentField is TextFormField))
                {
                    currentField = new TextFormField();
                }

                //set text field options
                (currentField as TextFormField).EnableIcr = _chkEnableIcr.Checked;
                (currentField as TextFormField).EnableOcr = _chkEnableOcr.Checked;
                (currentField as TextFormField).Type      = _rbTextTypeChar.Checked ? TextFieldType.Character : TextFieldType.Numerical;
                break;

            case "Omr":
                if (!(currentField is OmrFormField))
                {
                    currentField = new OmrFormField();
                }

                //set omr field options
                if (_rbOMRWithFrame.Checked)
                {
                    (currentField as OmrFormField).FrameMethod = OcrOmrFrameDetectionMethod.WithFrame;
                }
                else if (_rbOMRWithoutFrame.Checked)
                {
                    (currentField as OmrFormField).FrameMethod = OcrOmrFrameDetectionMethod.WithoutFrame;
                }
                else if (_rbOMRAutoFrame.Checked)
                {
                    (currentField as OmrFormField).FrameMethod = OcrOmrFrameDetectionMethod.Auto;
                }

                if (_rbOMRSensitivityLowest.Checked)
                {
                    (currentField as OmrFormField).Sensitivity = OcrOmrSensitivity.Lowest;
                }
                else if (_rbOMRSensitivityLow.Checked)
                {
                    (currentField as OmrFormField).Sensitivity = OcrOmrSensitivity.Low;
                }
                else if (_rbOMRSensitivityHigh.Checked)
                {
                    (currentField as OmrFormField).Sensitivity = OcrOmrSensitivity.High;
                }
                else if (_rbOMRSensitivityHighest.Checked)
                {
                    (currentField as OmrFormField).Sensitivity = OcrOmrSensitivity.Highest;
                }
                break;
            }

            currentField.Bounds      = new LeadRect(Convert.ToInt32(_nudLeft.Value), Convert.ToInt32(_nudTop.Value), Convert.ToInt32(_nudWidth.Value), Convert.ToInt32(_nudHeight.Value));
            currentField.Name        = _txt_ColumnOptionsFieldName.Text;
            _chkDropoutWords.Checked = (currentField.Dropout & DropoutFlag.WordsDropout) == DropoutFlag.WordsDropout;
            _chkDropoutCells.Checked = (currentField.Dropout & DropoutFlag.CellsDropout) == DropoutFlag.CellsDropout;
        }
コード例 #2
0
        private bool AddField(DiskMasterForm currentform, List <XmlModel> model)
        {
            try
            {
                DiskMasterForm            currentMasterForm = currentform;
                FormRecognitionAttributes attributes        = currentMasterForm.ReadAttributes();
                FormPages   formPages = currentMasterForm.ReadFields();
                RasterImage formImage = currentMasterForm.ReadForm();
                foreach (XmlModel xmlModel in model)
                {
                    int i = formPages[xmlModel.PageNumber - 1].Count;
                    formPages[xmlModel.PageNumber - 1].RemoveRange(0, i);
                    foreach (XmlDetail xmlDetail in xmlModel.Detail)
                    {
                        FormField newField = null;

                        if (xmlDetail.FieldInfo.ObjectId == -51) // For textfield => -51 //for OmrField => -50
                        {
                            newField = new TextFormField();
                            (newField as TextFormField).EnableIcr = xmlDetail.FieldInfo.OcrFieldInfo.EnableICR;
                            (newField as TextFormField).EnableOcr = xmlDetail.FieldInfo.OcrFieldInfo.EnableOCR;
                            (newField as TextFormField).Type      = (xmlDetail.FieldInfo.OcrFieldInfo.Character == true ? TextFieldType.Character : (xmlDetail.FieldInfo.OcrFieldInfo.Numeric == true ? TextFieldType.Numerical : TextFieldType.Data));
                            if (xmlDetail.FieldInfo.OcrFieldInfo.CellBoarders)
                            {
                                newField.Dropout |= DropoutFlag.CellsDropout;
                            }
                            else
                            {
                                newField.Dropout &= ~DropoutFlag.CellsDropout;
                            }

                            if (xmlDetail.FieldInfo.OcrFieldInfo.Words)
                            {
                                newField.Dropout |= DropoutFlag.WordsDropout;
                            }
                            else
                            {
                                newField.Dropout &= ~DropoutFlag.WordsDropout;
                            }
                        }
                        else
                        {
                            newField = new OmrFormField();
                            if (xmlDetail.FieldInfo.OmrFieldInfo.WithFrame)
                            {
                                (newField as OmrFormField).FrameMethod = OcrOmrFrameDetectionMethod.WithFrame;
                            }
                            else if (xmlDetail.FieldInfo.OmrFieldInfo.WithoutFrame)
                            {
                                (newField as OmrFormField).FrameMethod = OcrOmrFrameDetectionMethod.WithoutFrame;
                            }
                            else if (xmlDetail.FieldInfo.OmrFieldInfo.Auto)
                            {
                                (newField as OmrFormField).FrameMethod = OcrOmrFrameDetectionMethod.Auto;
                            }

                            if (xmlDetail.FieldInfo.OmrFieldInfo.Lowest)
                            {
                                (newField as OmrFormField).Sensitivity = OcrOmrSensitivity.Lowest;
                            }
                            else if (xmlDetail.FieldInfo.OmrFieldInfo.Low)
                            {
                                (newField as OmrFormField).Sensitivity = OcrOmrSensitivity.Low;
                            }
                            else if (xmlDetail.FieldInfo.OmrFieldInfo.High)
                            {
                                (newField as OmrFormField).Sensitivity = OcrOmrSensitivity.High;
                            }
                            else if (xmlDetail.FieldInfo.OmrFieldInfo.Highest)
                            {
                                (newField as OmrFormField).Sensitivity = OcrOmrSensitivity.Highest;
                            }
                        }
                        newField.Name   = xmlDetail.FieldInfo.Name;
                        newField.Bounds = new LeadRect(Convert.ToInt32(Annotations.Engine.AnnUnitConverter.ConvertToPixels(xmlDetail.Cordinates.X, Leadtools.Annotations.Engine.AnnUnit.Unit, 96)), Convert.ToInt32(Annotations.Engine.AnnUnitConverter.ConvertToPixels(xmlDetail.Cordinates.Y, Annotations.Engine.AnnUnit.Unit, 96)), Convert.ToInt32(Annotations.Engine.AnnUnitConverter.ConvertToPixels(xmlDetail.Cordinates.Width, Annotations.Engine.AnnUnit.Unit, 96)), Convert.ToInt32(Annotations.Engine.AnnUnitConverter.ConvertToPixels(xmlDetail.Cordinates.Height, Annotations.Engine.AnnUnit.Unit, 96)));
                        // newField.Bounds= new LogicalRectangle(AnnUnitConverter.ConvertToPixels(xmlDetail.Cordinates.X, AnnUnit.Unit, 96), AnnUnitConverter.ConvertToPixels(xmlDetail.Cordinates.Y, AnnUnit.Unit, 96), AnnUnitConverter.ConvertToPixels(xmlDetail.Cordinates.Width, AnnUnit.Unit, 96), AnnUnitConverter.ConvertToPixels(xmlDetail.Cordinates.Height, AnnUnit.Unit, 96), LogicalUnit.Pixel);

                        Annotations.Engine.AnnHiliteObject newObject = new Annotations.Engine.AnnHiliteObject();
                        newObject.Tag = newField;
                        FormField currentField = newObject.Tag as FormField;
                        formPages[xmlModel.PageNumber - 1].Add(currentField);
                    }
                }
                currentMasterForm.WriteForm(formImage);
                currentMasterForm.WriteAttributes(attributes);
                currentMasterForm.WriteFields(formPages);
                return(true);
            }
            catch (Exception ex)
            {
                return(false);

                throw;
            }
        }