BoringHeroes.ScreenReader.TestTemplateOnScreen C# (CSharp) Метод

TestTemplateOnScreen() публичный статический Метод

public static TestTemplateOnScreen ( string path, float percentage ) : float
path string
percentage float
Результат float
        public static float TestTemplateOnScreen(string path, float percentage)
        {
            var template = ChangePixelFormat(new Bitmap(path), PixelFormat.Format24bppRgb);
            var sourceImage = ChangePixelFormat(GrabScreenGDI(gameScreen), PixelFormat.Format24bppRgb);
            var rb = new ResizeBilinear(sourceImage.Width/4, sourceImage.Height/4);
            sourceImage = rb.Apply(sourceImage);
            var tm = new ExhaustiveTemplateMatching(percentage);
            var matchings = tm.ProcessImage(sourceImage, template);
            var data = sourceImage.LockBits(
                new Rectangle(0, 0, sourceImage.Width, sourceImage.Height),
                ImageLockMode.ReadWrite, sourceImage.PixelFormat);

            MainWindow.Log("%" + percentage + " got " + matchings.Length + " matches");
            if (matchings.Length != 1)
            {
                if (matchings.Length == 0)
                {
                    percentage -= 0.005f;
                }
                if (matchings.Length > 1)
                {
                    percentage += 0.0025f;
                }
                percentage = TestTemplateOnScreen(path, percentage);
            }
            foreach (var m in matchings)
            {
                Drawing.Rectangle(data, m.Rectangle, Color.LimeGreen);
            }
            sourceImage.UnlockBits(data);
            //sourceImage.Save("./images/restest.png");
            return percentage;
        }