Пример #1
0
        public string SertchImageWithInfo(Bitmap _Sertchfor, ImageScanMethode imageScanMethode, int toleranz = 0, bool jointhread = true)
        {
            var      __r = false;
            TimeSpan __TimeSpan;
            var      Point = new Point(0, 0);

            return(SertchImageWithInfo(CaptureScreen(), _Sertchfor, out __r, out Point, out __TimeSpan, imageScanMethode, toleranz, jointhread));
        }
Пример #2
0
        public bool SertchImage(Bitmap _Sertchin, Bitmap _Sertchfor, ImageScanMethode imageScanMethode, int toleranz = 0, bool jointhread = true)
        {
            var      __r = false;
            TimeSpan __TimeSpan;
            var      Point = new Point(0, 0);

            SertchImageWithInfo(_Sertchin, _Sertchfor, out __r, out Point, out __TimeSpan, imageScanMethode, toleranz, jointhread);

            return(__r);
        }
Пример #3
0
 public bool ImageIsOnScreen(Bitmap _Sertchfor, ImageScanMethode imageScanMethode, int toleranz = 0, bool jointhread = true)
 {
     return(SertchImage(CaptureScreen(), _Sertchfor, imageScanMethode, toleranz, jointhread));
 }
Пример #4
0
        public Point?[] SertchImagesOnScreen(Bitmap[] _Sertchfor, out string result, out TimeSpan _TimeSpan, ImageScanMethode imageScanMethode, int toleranz = 0, bool jointhread = true)
        {
            var f          = 0;
            var a          = _Sertchfor.Length;
            var __r        = false;
            var __TimeSpan = TimeSpan.MinValue;
            var point      = new Point(0, 0);
            var _Sertchin  = CaptureScreen();

            var Presults = new Point?[a];

            for (var i = 0; i < a; i++)
            {
                point       = Point.Empty;
                Presults[i] = Point.Empty;

                var t = new Thread(() => _Thread(_Sertchin, _Sertchfor[i], out __r, out point, out __TimeSpan, imageScanMethode, toleranz));
                t.Start();
                t.Join();
                if (point != Point.Empty && point != new Point(0, 0))
                {
                    f          += 1;
                    Presults[i] = point;
                }
            }

            _TimeSpan = __TimeSpan;

            result = $"Found {f} from {a} images TimeSpan(Millisec)={__TimeSpan.Milliseconds}";

            return(Presults);
        }
Пример #5
0
        public string SertchImageWithInfo(Bitmap _Sertchin, Bitmap _Sertchfor, out bool _R, out Point point, out TimeSpan _TimeSpan, ImageScanMethode imageScanMethode, int toleranz = 0, bool jointhread = true)
        {
            var __r        = false;
            var __TimeSpan = TimeSpan.MinValue;
            var Point      = new Point(0, 0);

            var t = new Threading.Thread(() => _Thread(_Sertchin, _Sertchfor, out __r, out Point, out __TimeSpan, imageScanMethode, toleranz));

            t.Start();
            if (jointhread)
            {
                t.Join();
            }
            _R        = __r;
            point     = Point;
            _TimeSpan = __TimeSpan;

            return($"Thread returned: {_R},  X={point.X}, Y={point.Y}, TimeSpan(Millisec)={__TimeSpan.Milliseconds}");
        }
Пример #6
0
        private void _Thread(Bitmap Sertchin, Bitmap Sertchfor, out bool R, out Point point, out TimeSpan TimeSpan, ImageScanMethode imageScanMethode, int toleranz = 0)
        {
            var k = DateTime.Now;

            var res = imageScanMethode == ImageScanMethode.Fast ? FindBitmap_Fast(Sertchin, Sertchfor, toleranz) : FindBitmap_Slow(Sertchin, Sertchfor, toleranz);

            R     = false;
            point = new Point(0, 0);
            if (res.HasValue)
            {
                R     = (res.Value.X == 0 && res.Value.Y == 0) ? false : true;
                point = new Point(res.Value.X, res.Value.Y);
            }
            TimeSpan = DateTime.Now - k;
        }