Esempio n. 1
0
        private void toolStripButtonScanner_Click(object sender, EventArgs e)
        {
            try
            {
                byte[] imageBytes = m_scanEngine.ScanSingle();

                using (MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length))
                {
                    originalBmp = (Bitmap)System.Drawing.Image.FromStream(ms);
                    cropBmp     = new Bitmap(originalBmp);
                    this.m_canvas.Add(new BackgroundImageShape()
                    {
                        Image = cropBmp
                    }, "Image");
                }
                tbZoom.Enabled  = true;
                button2.Enabled = true;
            }
            catch (Exception ex)
            {
                if (ex.HResult == -2145320957)
                {
                    MessageBox.Show("Place paper on the scanner.");
                }

                tbZoom.Enabled  = false;
                button2.Enabled = false;

                Console.WriteLine(ex.Message);
            }
        }
Esempio 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);
            }
        }