Example #1
0
        public void CheckBadStateOfFishingGauge()
        {
            _graphicFactory.LoadImage(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"..\..\ImageTest\a.jpg"));
            var engine = new RegonizeEngine(_screenHelper);

            var r = new Rectangle {
                X = 950, Y = 400, Width = 30, Height = 30
            };
            var r2 = new Rectangle {
                X = 0, Y = 0, Width = 60, Height = 60
            };
            var args = new RectEventArgs(r2);

            GetValue(args, r);

            var color = engine.GetColor(new System.Drawing.Point(950, 415));

            var c = new RegonizeEngine.ColorAcceptance {
                BaseColor = Color.FromArgb(93, 142, 172), Offset = 30
            };

            var zz = c.Validate(color);

            //RGB: 93/142/172
        }
Example #2
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));
        }
Example #3
0
        public void SearchColorTriangleOfFishMiniGame()
        {
            //620-310
            //87-127
            var pointOfTimeGauge = new System.Drawing.Point(87 + 620, 127 + 310);

            _graphicFactory.LoadImage(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"..\..\ImageTest\b.jpg"));
            var engine = new RegonizeEngine(_screenHelper);

            var r = new Rectangle {
                X = pointOfTimeGauge.X - 35 + 8, Y = pointOfTimeGauge.Y - 45 + 8, Width = 12, Height = 12
            };
            var r2 = new Rectangle {
                X = 0, Y = 0, Width = 60, Height = 60
            };
            var args = new RectEventArgs(r2);

            GetValue(args, r);

            var color = engine.GetColor(new System.Drawing.Point(pointOfTimeGauge.X - 35 + 8, pointOfTimeGauge.Y - 45 + 8));

            Assert.IsTrue(ArroundColor(Color.FromArgb(0, 85, 255), color, 10));

            //RGB:45/66/61
        }
Example #4
0
        private void SolveMiniGame(EventHandler <KeysEventArgs> fishingStep4Callback)
        {
            var gameArea = new Rectangle {
                X = 620, Y = 310, Width = 180, Height = 170
            };
            var img = _screenHelper.ScreenArea(gameArea);

            DebugWindow.SetImageFishingGameRaw(img);

            var startPointOfTimeGauge = FindTimeGauge(img);

            var colorFilter = GetColorNoise(img, startPointOfTimeGauge);

            var filteredImage = RegonizeEngine.FilterImage(new Image <Bgr, byte>(img),
                                                           new RegonizeEngine.FilterParam(colorFilter, 100));

            DebugWindow.SetImageFishingGameFiltered(filteredImage.Bitmap);

            var keys = _xCoordOfFishingKeyIndicators
                       .Select(x => new RegonizeEngine.FishTriangle(filteredImage, new Point(x, 8)))
                       .Select(t => t.GetOrientation())
                       .Where(o => o != RegonizeEngine.FishTriangle.Orientation.None)
                       .Select(GetKeyFromOrientedTriangle)
                       .ToList();

            fishingStep4Callback(this, new KeysEventArgs(keys));
        }
Example #5
0
        public void CheckButtonDispo(string imageName, int expectedPresent)
        {
            _graphicFactory.LoadImage(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $@"..\..\ImageTest\{imageName}"));
            var engine = new RegonizeEngine(_screenHelper);

            var b = Enumerable.Range(1, 7).Select(i => i * 62 + 309).Select(y => CheckButton(engine, y)).ToList();

            Assert.AreEqual(expectedPresent, b.Count(s => s));
        }
Example #6
0
        public void MatchPatternTest(string imageName, string patternName)
        {
            var engine      = new RegonizeEngine(_screenHelper);
            var sourceImage = new Image <Bgr, byte>(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $@"..\..\ImageTest\{imageName}"));
            var searchImg   = new Image <Bgr, byte>(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $@"..\..\ImageTest\{patternName}"));

            var result = engine.MatchPattern(sourceImage, searchImg);

            sourceImage.Draw(result, new Bgr(Color.Red), 2);

            Clipboard.SetImage(ConvertBitmap(sourceImage.Bitmap));
        }
Example #7
0
        public void SearchPressSpaceButton()
        {
            _graphicFactory.LoadImage(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"..\..\ImageTest\a.jpg"));
            var engine = new RegonizeEngine(_screenHelper);

            var r = new Rectangle {
                X = 760, Y = 164, Width = 155, Height = 65
            };

            engine.WaitRectangleColor(r, Color.FromArgb(164, 136, 26), 80, WaitFishingStart_Callback, 5000, new RegonizeEngine.ContourAcceptance {
                Size = 150, SizeOffset = 30, Width = 100, WidthOffset = 50, Height = 50, HeightOffset = 20
            });
        }
Example #8
0
        public void GetTrianglesOfFishingGame(int xCoord, RegonizeEngine.FishTriangle.Orientation orientation)
        {
            //620-310
            //87-127
            var pointOfTimeGauge = new System.Drawing.Point(87 + 620, 127 + 310);

            _graphicFactory.LoadImage(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"..\..\ImageTest\b.jpg"));

            var r = new Rectangle {
                X = pointOfTimeGauge.X - 35, Y = pointOfTimeGauge.Y - 45, Width = 380, Height = 17
            };

            var filteredImage = RegonizeEngine.FilterImage(new Image <Bgr, byte>(_screenHelper.ScreenArea(r)),
                                                           new RegonizeEngine.FilterParam(Color.FromArgb(0, 85, 255), 100));

            var t = new RegonizeEngine.FishTriangle(filteredImage, new System.Drawing.Point(xCoord, 8));

            Clipboard.SetImage(ConvertBitmap(t.GetBitmap()));

            Assert.AreEqual(orientation, t.GetOrientation());
        }
Example #9
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());
        }
Example #10
0
        public void SearchFishingGameTimeGauge(string imageName, int x, int y)
        {
            _graphicFactory.LoadImage(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $@"..\..\ImageTest\{imageName}"));
            var engine = new RegonizeEngine(_screenHelper);

            var r = new Rectangle {
                X = 620, Y = 310, Width = 180, Height = 170
            };

            var result = engine.GetRectangle(r, Color.FromArgb(255, 255, 255), 80,
                                             new RegonizeEngine.ContourAcceptance
            {
                Size         = 10,
                SizeOffset   = 5,
                Width        = 70,
                WidthOffset  = 30,
                Height       = 4,
                HeightOffset = 2
            });

            Assert.AreEqual(x, result.X);
            Assert.AreEqual(y, result.Y);
        }