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); } }
/// <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); } }