using System; using System.Windows; using System.Windows.Input; using System.Drawing; using System.IO; using System.Drawing.Imaging; using PINBlog; namespace ScreenShotOCR { public delegate Bitmap EventHandlerGrab(); /// /// MainWindow.xaml에 대한 상호 작용 논리 /// public partial class MainWindow : Window { CaptureWindow m_cw = new CaptureWindow(); public MainWindow() { InitializeComponent(); } private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { this.DragMove(); } private void CaptureBtn_Click(object sender, RoutedEventArgs e) { m_cw.Show(); this.Topmost = true; } private void Close_Click(object sender, RoutedEventArgs e) { m_cw.Close(); this.Close(); } private void OCRBtn_Click(object sender, RoutedEventArgs e) { Bitmap crop = m_cw.m_handlerGrab(); Tesseract(crop); } private bool Tesseract(Image image) { try { MemoryStream stream = new MemoryStream(); image.Save(stream, ImageFormat.Png); var tesseract = new Tesseract(); var result = tesseract.GetText(stream); textblock.Text = result; return true; } catch (Exception ex) { return false; } } } }