private void DoOCR() { string s_people = "", s_mail = ""; try { var bitmap = screen_rgb.ToBitmap(); using (var engine = new Tesseract.TesseractEngine(@"./tessdata", "eng", Tesseract.EngineMode.Default)) { engine.SetVariable("tessedit_char_whitelist", "0123456789"); var people = bitmap.Clone(new Rectangle(230, 250, 130, 25), System.Drawing.Imaging.PixelFormat.Format32bppArgb); using (var page = engine.Process(people)) { s_people = Regex.Replace(page.GetText(), "[^0-9]", ""); } var mail = bitmap.Clone(new Rectangle(395, 250, 182, 25), System.Drawing.Imaging.PixelFormat.Format32bppArgb); using (var page = engine.Process(mail)) { s_mail = Regex.Replace(page.GetText(), "[^0-9]", ""); } } if (string.IsNullOrEmpty(s_people)) { s_people = "0"; } if (string.IsNullOrEmpty(s_mail)) { s_mail = "0"; } if (s_mail != "0" && s_people != "0") { Stats.Add(DateTime.Now, new Tuple <int, int>(int.Parse(s_people), int.Parse(s_mail))); } if (!IsActive) { return; } Invoke(new Action(() => { PictureBoxOutput.Image = bitmap; })); } catch (Exception e) { AddOutput("OCR Error [$:'" + s_people + "', M:'" + s_mail + "'] " + e.Message + e.StackTrace); } }
private void Button_Click(object sender, RoutedEventArgs e) { int err_count = 0; while (err_count < 2) { Microsoft.VisualBasic.Interaction.AppActivate("Overwatch"); SendKeys.SendWait("{PRTSC}"); System.Diagnostics.Process[] processList = System.Diagnostics.Process.GetProcesses(); if (System.Windows.Clipboard.ContainsImage()) { string lngStr = System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), @"tesseract-ocr\\"); string langPath = "eng"; var img = (Bitmap)System.Windows.Forms.Clipboard.GetImage(); var bitmap24 = new Bitmap(img.Width, img.Height, System.Drawing.Imaging.PixelFormat.Format24bppRgb); using (var gr = Graphics.FromImage(bitmap24)) { gr.DrawImage(img, new Rectangle(0, 0, bitmap24.Width, bitmap24.Height)); } using (var tesseract = new Tesseract.TesseractEngine(lngStr, langPath)) { tesseract.SetVariable("SEARCH", "1"); Tesseract.Page page = tesseract.Process(bitmap24); if (page.GetText().Contains("SEARCH") || page.GetText().Contains("TIME") || page.GetText().Contains("ELAPSED") || page.GetText().Contains("LEAGUE") || page.GetText().Contains("HIGHLIGHTS") || page.GetText().Contains("SOCIAL") || page.GetText().Contains("EXIT")) { err_count = 0; } else { err_count += 1; } } } Thread.Sleep(50000); } DateTime dt = DateTime.Now; string result = dt.ToString("yyyy/MM/dd HH:mm:ss"); string lnk = "https://maker.ifttt.com/trigger/match/with/key/xxxxxxxx/?value1=" + result; System.Diagnostics.Process.Start(lnk); Environment.Exit(0); }
private void Button1_Click(object sender, EventArgs e) { using (var bmp = Snip()) { if (bmp != null) { using (var image = new Bitmap(bmp)) { using (var ocr = new Tesseract.TesseractEngine(@"./tessdata", "eng", Tesseract.EngineMode.Default)) { ocr.SetVariable("tessedit_char_whitelist", "0123456789"); using (var result = ocr.Process(image, Tesseract.Rect.Empty)) { Clipboard.SetText(result.GetText().Trim()); } } } } } }