Beispiel #1
0
        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));
        }
Beispiel #2
0
        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());
        }