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