public void GetWindow(string imageName) { _graphicFactory.LoadImage(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $@"..\..\ImageTest\{imageName}")); var engine = new RegonizeEngine(_screenHelper); var r = new Rectangle { X = 700, Y = 45, Width = 500, Height = 600 }; var color = Color.FromArgb(20, 20, 20); var seuil = 20; var tmp = _screenHelper.ScreenArea(r); Clipboard.SetImage(ConvertBitmap(tmp)); var filteredImage = RegonizeEngine.FilterImage(new Image <Bgr, byte>(tmp), new RegonizeEngine.FilterParam(color, seuil)); Clipboard.SetImage(ConvertBitmap(filteredImage.Bitmap)); var rr = engine.GetAllRectangles(tmp, r, color, seuil, new RegonizeEngine.ContourAcceptance { Height = 150, HeightOffset = 150, Width = 330, WidthOffset = 100, Size = 500, SizeOffset = 500 }); var zz = rr.OrderByDescending(a => a.Height + a.Width).Take(10).ToList(); using (var g = Graphics.FromImage(tmp)) { g.DrawRectangles(new Pen(Color.Red, 2), zz.ToArray()); } Clipboard.SetImage(ConvertBitmap(tmp)); }
private bool CheckButton(RegonizeEngine engine, int y) { var r = new Rectangle { X = 1300, Y = y, Width = 62, Height = 46 }; var color = Color.FromArgb(200, 200, 200); var seuil = 60; var tmp = _screenHelper.ScreenArea(r); var rr = engine.GetAllRectangles(tmp, r, color, seuil, new RegonizeEngine.ContourAcceptance { Height = 150, HeightOffset = 150, Width = 330, WidthOffset = 330, Size = 500, SizeOffset = 500 }); return(rr.Any()); }