Ejemplo n.º 1
0
        /// <summary>
        /// Select the image
        /// </summary>
        private void mnuNewFromImage_Click(object sender, EventArgs e)
        {
            try
            {
                if (this.m_isDirty && MessageBox.Show("Discard unsaved changes?", "Confirm New", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.No)
                {
                    this.mnuSave_Click(sender, e);
                }

                // Open the image
                var dlgOpen = new OpenFileDialog()
                {
                    Title  = "New From Image",
                    Filter = "All Images (*.jpg;*.jpeg;*.bmp;*.png)|*.jpg;*.jpeg;*.bmp;*.png|JPEG Images (*.jpg;*.jpeg)|*.jpg;*.jpeg|Bitmaps (*.bmp)|*.bmp|PNG Images (*.png)|*.png"
                };

                // Open
                if (dlgOpen.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    //skHost1.Canvas.Clear();
                    this.lsvImages.Clear();
                    this.m_currentTemplate = OmrTemplate.FromFile(dlgOpen.FileName);
                    this.UpdateTemplateDiagram();
                    this.testToolStripMenuItem.Enabled = true;


                    this.SelectRootImageProperties();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Can not create template: " + ex.Message);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        ///     New scan click
        /// </summary>
        private void newTsi_Click(object sender, EventArgs e)
        {
            try
            {
                if (m_isDirty &&
                    (MessageBox.Show("Discard unsaved changes?", "Confirm New", MessageBoxButtons.YesNo) ==
                     DialogResult.No))
                {
                    mnuSave_Click(sender, e);
                }

                lblStatus.Text = "Scanning...";
                var imgData = m_scanEngine.ScanSingle((sender as ToolStripMenuItem).Tag as ScannerInfo);
                using (var ms = new MemoryStream(imgData))
                {
                    var img = Image.FromStream(ms);
                    img.RotateFlip(RotateFlipType.Rotate270FlipNone);
                    using (var sci = new ScannedImage(img))
                    {
                        var tFile = Path.Combine(Path.GetTempPath(), Path.GetTempFileName());
                        sci.Analyze();
                        using (var correctedImage = sci.GetCorrectedImage())
                        {
                            correctedImage.Save(tFile);
                        }
                        lsvImages.Clear();
                        m_currentTemplate = OmrTemplate.FromFile(tFile);
                    }
                }
                UpdateTemplateDiagram();
                testToolStripMenuItem.Enabled = true;

                lblStatus.Text = "Idle...";

                SelectRootImageProperties();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Could not create template : " + ex.Message);
            }
        }