Example #1
0
        private void btnScan_Click(object sender, EventArgs e)
        {
            // reset image
            pbScreen.Image = sourceImage;

            var masks = new ArrayList();

            for (var i = 0; i < tcMasks.TabPages.Count; ++i)
            {
                PictureBox pb = (PictureBox)tcMasks.TabPages[i].Controls[0];
                var mask = new MaskItem();
                mask.Image = bitmapConvertor.RoundImage(new Bitmap(pb.Image));
                mask.CalculateColors();
                mask.Name = i.ToString();
                masks.Add(mask);
            }

            var detected = new ArrayList();

            detectionService.Detect(
                bitmapConvertor.ImageToMatrix(new Bitmap(pbScreen.Image)),
                masks,
                detected
            );

            using (Graphics gr = Graphics.FromImage(pbScreen.Image))
            {
                Pen borderPen = new Pen(Color.Red, 1);

                foreach (DetectedItem item in detected)
                {
                    gr.DrawImage(
                        item.Mask.Image,
                        new Point(item.X, item.Y)
                    );
                    gr.DrawRectangle(borderPen, item.Rect);
                }
            }
        }
Example #2
0
        private void btnScan_Click(object sender, EventArgs e)
        {
            // reset image
            pbScreen.Image = sourceImage;

            var masks = new ArrayList();

            for (var i = 0; i < tcMasks.TabPages.Count; ++i)
            {
                PictureBox pb   = (PictureBox)tcMasks.TabPages[i].Controls[0];
                var        mask = new MaskItem();
                mask.Image = bitmapConvertor.RoundImage(new Bitmap(pb.Image));
                mask.CalculateColors();
                mask.Name = i.ToString();
                masks.Add(mask);
            }

            var detected = new ArrayList();

            detectionService.Detect(
                bitmapConvertor.ImageToMatrix(new Bitmap(pbScreen.Image)),
                masks,
                detected
                );

            using (Graphics gr = Graphics.FromImage(pbScreen.Image))
            {
                Pen borderPen = new Pen(Color.Red, 1);

                foreach (DetectedItem item in detected)
                {
                    gr.DrawImage(
                        item.Mask.Image,
                        new Point(item.X, item.Y)
                        );
                    gr.DrawRectangle(borderPen, item.Rect);
                }
            }
        }