Example #1
0
        private void buttonClickRightOnImage_Click(object sender, EventArgs e)
        {
            AutoIT au3  = new AutoIT();
            IntPtr hWnd = IntPtr.Zero;

            // Find define handle of project
            hWnd = AutoControl.FindWindowHandle(null, textBoxTestID.Text);

            if (hWnd == IntPtr.Zero)
            {
                MessageBox.Show("Không tìm thấy nhân vật này đang được chạy.");
                return;
            }

            var imagePath = textBoxTestPath.Text;

            var screen = CaptureHelper.CaptureWindow(hWnd);

            screen.Save("test.png");
            Bitmap iBtn = ImageScanOpenCV.GetImage(imagePath);
            var    pBtn = ImageScanOpenCV.FindOutPoint((Bitmap)screen, iBtn);

            if (pBtn != null)
            {
                au3.clickRight(textBoxTestID.Text, 1, pBtn.Value.X + int.Parse(numericUpDownTestX.Value.ToString()), pBtn.Value.Y + int.Parse(numericUpDownTestY.Value.ToString()));
                Thread.Sleep(Constant.TimeShort);
            }
        }
Example #2
0
        public List <Bitmap> collectMapMiniPath()
        {
            mAuto.writeStatus("Thu thập mảnh bản đồ");
            List <Bitmap> mapPaths = new List <Bitmap>();

            // Mở bảng đồ mini
            //mAuto.clickToImage(Constant.ImagePathMiniMap);
            mAuto.sendKey("~");

            var full_screen = CaptureHelper.CaptureWindow(mHWnd);

            // Tắt các bảng nổi
            mAuto.closeAllDialog();

            Bitmap iBtn = ImageScanOpenCV.GetImage(Constant.ImagePathGlobalMiniMap);
            var    pBtn = ImageScanOpenCV.FindOutPoint((Bitmap)full_screen, iBtn);

            if (pBtn != null)
            {
                int x_start_point = pBtn.Value.X + 0;
                int y_start_point = pBtn.Value.Y + 60;
                for (int y = 0; y < 5; y++)
                {
                    for (int x = 0; x < 4; x++)
                    {
                        mapPaths.Add(CaptureHelper.CropImage((Bitmap)full_screen, new Rectangle(
                                                                 x_start_point + (x * 100),
                                                                 y_start_point + (y * 56),
                                                                 100, 56)));
                    }
                }
            }

            return(mapPaths);
        }
Example #3
0
        public void LoginTranS()
        {
            string strCmdText;
            string userName = Environment.UserName;

            strCmdText = @"/C C:\Users\" + userName + @"\AppData\Roaming\TranS\TranS.exe";

            Process p = new Process();

            p.StartInfo.FileName  = "CMD.exe";
            p.StartInfo.Arguments = strCmdText;

            p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;

            p.Start();
            Thread.Sleep(4000);

            //click Student
            var screen = CaptureHelper.CaptureScreen();

            screen.Save("mainScreen.png");
            var subBitmap = ImageScanOpenCV.GetImage("btnHocVien.bmp");
            var resBitmap = ImageScanOpenCV.FindOutPoint((Bitmap)screen, subBitmap);

            if (resBitmap != null)
            {
                string x = (resBitmap.ToString()).Remove(0, 3).Remove(3, 7);
                string y = (resBitmap.ToString()).Remove(0, 9).Remove(3, 1);
                AutoControl.MouseClick(int.Parse(x) + 20, int.Parse(y) + 20, EMouseKey.LEFT);
            }

            Thread.Sleep(500);

            //Send Enter ID
            try
            {
                AutoControl.SendStringFocus(txtBoxID.Text);
            }
            catch (Exception)
            {
                MessageBox.Show("Bạn chưa nhập ID");
            }


            //Click Join now
            var screenID = CaptureHelper.CaptureScreen();

            screenID.Save("mainScreen.png");
            var subBitmapID = ImageScanOpenCV.GetImage("btnVaoPhong.bmp");
            var resBitmapID = ImageScanOpenCV.FindOutPoint((Bitmap)screenID, subBitmapID);

            if (resBitmapID != null)
            {
                string x1 = (resBitmapID.ToString()).Remove(0, 3).Remove(3, 7);
                string y1 = (resBitmapID.ToString()).Remove(0, 9).Remove(3, 1);
                AutoControl.MouseClick(int.Parse(x1) + 20, int.Parse(y1) + 20, EMouseKey.LEFT);
            }
            Application.Exit();
        }
Example #4
0
        private void btnExportPoint_Click(object sender, EventArgs e)
        {
            var screen = CaptureHelper.CaptureScreen();

            screen.Save("mainScreen.PNG");

            var subBitmap = ImageScanOpenCV.GetImage("template.PNG");

            var resBitMap = ImageScanOpenCV.FindOutPoint((Bitmap)screen, subBitmap);

            if (resBitMap != null)
            {
                MessageBox.Show(resBitMap.ToString());
            }
        }
Example #5
0
        private void btnCheckImage_Click(object sender, EventArgs e)
        {
            var screen = CaptureHelper.CaptureScreen();

            screen.Save("mainScreen.PNG");

            var subBitmap = ImageScanOpenCV.GetImage("template.PNG");

            var resBitMap = ImageScanOpenCV.Find((Bitmap)screen, subBitmap);

            if (resBitMap != null)
            {
                resBitMap.Save("res.PNG");
            }
        }
        /*
         * Function: Find Image
         * Description: Find position of image on window
         * Author: Tử La Lan - Facebook: https://www.facebook.com/Tu.La.Lan.NT
         * Created At: 2019-11-09 - Updated At: 2019-11-09
         */
        public bool findImage(string imagePath)
        {
            if (mCharacter.Running == 0)
            {
                return(false);
            }

            var    screen = CaptureHelper.CaptureWindow(mHWnd);
            Bitmap iBtn   = ImageScanOpenCV.GetImage(imagePath);
            var    pBtn   = ImageScanOpenCV.FindOutPoint((Bitmap)screen, iBtn);

            if (pBtn != null)
            {
                return(true);
            }

            return(false);
        }
        /*
         * Function: Move mouse
         * Description: Find position of image on window and move mouse to it
         * Author: Tử La Lan - Facebook: https://www.facebook.com/Tu.La.Lan.NT
         * Created At: 2019-11-09 - Updated At: 2019-11-09
         */
        public bool moveToImage(string imagePath, int xRange = 0, int yRange = -20)
        {
            if (mCharacter.Running == 0)
            {
                return(false);
            }

            var    screen = CaptureHelper.CaptureWindow(mHWnd);
            Bitmap iBtn   = ImageScanOpenCV.GetImage(imagePath);
            var    pBtn   = ImageScanOpenCV.FindOutPoint((Bitmap)screen, iBtn);

            if (pBtn != null)
            {
                au3.move(mWindowName, pBtn.Value.X + xRange, pBtn.Value.Y + yRange);
                return(true);
            }
            return(false);
        }
        /*
         * Function: Click to Image
         * Description: Find position of image on window and click it
         * Author: Tử La Lan - Facebook: https://www.facebook.com/Tu.La.Lan.NT
         * Created At: 2019-11-09 - Updated At: 2019-11-09
         */
        public bool clickToImage(string imagePath, int xRange = 0, int yRange = -20, int numClick = 1, int wait = Constant.TimeShort)
        {
            if (mCharacter.Running == 0)
            {
                return(false);
            }

            var    screen = CaptureHelper.CaptureWindow(mHWnd);
            Bitmap iBtn   = ImageScanOpenCV.GetImage(imagePath);
            var    pBtn   = ImageScanOpenCV.FindOutPoint((Bitmap)screen, iBtn);

            if (pBtn != null)
            {
                au3.click(mWindowName, numClick, pBtn.Value.X + xRange, pBtn.Value.Y + yRange);
                Thread.Sleep(wait);
                return(true);
            }
            return(false);
        }
Example #9
0
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            var screen = CaptureHelper.CaptureScreen();

            screen.Save("mainScreen.png");
            var subBit         = ImageScanOpenCV.GetImage("commentSection.PNG");
            var sendpost       = ImageScanOpenCV.GetImage("SendComment.PNG");
            var ComsecLocation = ImageScanOpenCV.FindOutPoint((Bitmap)screen, subBit);

            AutoControl.MouseClick((Point)ComsecLocation);
            //autoItX3.Send("Hello");
            Thread.Sleep(1000);
            screen = CaptureHelper.CaptureScreen();
            var   sendLocation = ImageScanOpenCV.FindOutPoint((Bitmap)screen, sendpost);
            Point sendlo       = (Point)sendLocation;

            sendlo.X += 3;
            sendlo.Y += 7;
            AutoControl.MouseClick((Point)sendlo);
        }
Example #10
0
        private void button4_Click(object sender, EventArgs e)
        {
            AutoItX3 autoItX3    = new AutoItX3();
            Point    LOLlocation = new Point(805, 175);
            IntPtr   hWnd        = IntPtr.Zero;

            hWnd = AutoControl.FindWindowHandle(null, "Garena - Game Center");
            var child = AutoControl.FindHandle(hWnd, "Chrome_RenderWidgetHostHWND", null);
            var point = AutoControl.GetGlobalPoint(child, LOLlocation);
            int num   = Convert.ToInt32(textBox1.Text);

            AutoControl.BringToFront(hWnd);
            AutoControl.MouseClick(point);
            Thread.Sleep(3000);
            autoItX3.MouseWheel("down", 2);
            Thread.Sleep(3000);
            //var postPoint = AutoControl.GetGlobalPoint(child, 147, 113);// 147 113
            //AutoControl.MouseClick(postPoint);
            //Thread.Sleep(2000);
            int[] arrEndPoint = { 202, 315, 341, 358, 432, 471, 500, 570, 630 }; // for y
            for (int i = 0; i < 2; i++)
            {
                Point startpoint = new Point(951, 12);
                Point endPoint   = new Point(952, 202);
                var   fpoint     = AutoControl.GetGlobalPoint(child, 150, 149);
                for (int j = 0; j < 3; j++)
                {
                    AutoControl.MouseClick(fpoint);
                    Thread.Sleep(3000);
                    var spoint = AutoControl.GetGlobalPoint(child, startpoint);
                    autoItX3.MouseMove(spoint.X, spoint.Y);
                    autoItX3.MouseDown("LEFT");
                    Bitmap screen;
                    for (int p = 0; p < arrEndPoint.Length; p++)
                    {
                        endPoint.Y = arrEndPoint[p];
                        var endP = AutoControl.GetGlobalPoint(child, endPoint);
                        autoItX3.MouseMove(endP.X, endP.Y);
                        screen = (Bitmap)CaptureHelper.CaptureScreen();
                        var subBit         = ImageScanOpenCV.GetImage("commentSection.PNG");
                        var sendpost       = ImageScanOpenCV.GetImage("SendComment.PNG");
                        var ComsecLocation = ImageScanOpenCV.FindOutPoint((Bitmap)screen, subBit);
                        if (ComsecLocation != null)
                        {
                            autoItX3.MouseUp("LEFT");
                            AutoControl.MouseClick((Point)ComsecLocation);
                            autoItX3.Send("Hello");
                            Thread.Sleep(1000);
                            screen = (Bitmap)CaptureHelper.CaptureScreen();
                            var   sendLocation = ImageScanOpenCV.FindOutPoint((Bitmap)screen, sendpost);
                            Point sendlo       = (Point)sendLocation; // can not find  the right so find the near and add a few unit to right point
                            sendlo.X += 3;
                            sendlo.Y += 7;
                            AutoControl.MouseClick((Point)sendlo);
                            screen.Dispose();
                            break;
                        }
                    }
                    var exitpost = AutoControl.GetGlobalPoint(child, 62, 6);
                    exitpost.Y -= 37;
                    AutoControl.MouseClick(exitpost);
                    Thread.Sleep(2000);
                    fpoint.X += 325;
                }
                Thread.Sleep(1000);
                Point zone = AutoControl.GetGlobalPoint(child, 20, 20);
                autoItX3.MouseMove(zone.X, zone.Y);
                autoItX3.MouseWheel("down", 4);
                Thread.Sleep(3000);
            }
        }
 public static Bitmap Find(string main, string sub, double percent = 0.9)
 {
     ImageScanOpenCV.GetImage(main);
     ImageScanOpenCV.GetImage(sub);
     return(ImageScanOpenCV.Find(main, sub, percent));
 }
Example #12
0
        void runChrome()
        {
            if (isRunning)
            {
                for (int i = 1; i <= 9999; i++)
                {
                    if (isRunning)
                    {
                        for (int rows = 0; rows < dataGridView1.Rows.Count; rows++)
                        {
                            if (isRunning)
                            {
                                IPHostEntry ip;
                                while (isRunning)
                                {
                                    var check = false;
                                    dataGridView1.Rows[rows].Cells[1].Value = "Change IP";
                                    runCMD("rasdial viettel");
                                    string myip = "";
                                    ip = Dns.GetHostEntry(Dns.GetHostName());
                                    foreach (IPAddress ipa in ip.AddressList)
                                    {
                                        if (ipa.AddressFamily == AddressFamily.InterNetwork)
                                        {
                                            myip = ipa.ToString();
                                        }
                                    }

                                    if (File.Exists("ListIP.txt"))
                                    {
                                        dataGridView1.Rows[rows].Cells[1].Value = "Check duplicate IP";
                                        string[] listIP = File.ReadAllLines("ListIP.txt");
                                        foreach (var item in listIP)
                                        {
                                            var temp = item.Split(':');
                                            if (myip == temp[0].Trim())
                                            {
                                                check = true;
                                            }
                                        }
                                    }
                                    if (!check)
                                    {
                                        File.AppendAllText("ListIP.txt", myip + " : " + dataGridView1.Rows[rows].Cells[0].Value + "\n");
                                        dataGridView1.Rows[rows].Cells[1].Value = "Open Chrome";
                                        Process.Start(dataGridView1.Rows[rows].Cells[0].Value.ToString());
                                        break;
                                    }
                                    else
                                    {
                                        runCMD("rasdial /disconnect");
                                    }
                                }

                                if (isRunning)
                                {
                                    Thread.Sleep(2500);
                                    var cap = CaptureHelper.CaptureScreen();
                                    cap.Save("res.png");
                                    var sub   = ImageScanOpenCV.GetImage("icon.PNG");
                                    var count = 0;
                                    while (count <= 30)
                                    {
                                        Point?res = ImageScanOpenCV.FindOutPoint((Bitmap)cap, sub);
                                        if (res != null)
                                        {
                                            AutoControl.MouseClick(res.Value.X, res.Value.Y, EMouseKey.LEFT);
                                            Thread.Sleep(time * 1000);
                                            break;
                                        }
                                        count++;
                                    }
                                }
                                runCMD("taskkill /f /im chrome.exe");
                                dataGridView1.Rows[rows].Cells[1].Value = "Disconnect Dcom";
                                runCMD("rasdial /disconnect");
                                if (isRunning)
                                {
                                    dataGridView1.Rows[rows].Cells[1].Value = "Done";
                                }
                                else
                                {
                                    dataGridView1.Rows[rows].Cells[1].Value = "Stop";
                                }
                            }
                            else
                            {
                                dataGridView1.Rows[rows].Cells[1].Value = "Stop";
                            }
                        }
                    }
                }
            }
        }
Example #13
0
        public void chayQ()
        {
            // Xóa ghi chép chat
            mAuto.clickImageByGroup("global", "chatclear", false, true);

            List <Bitmap> pos = new List <Bitmap>();

            int loop = 0;

            while (!checkDaDanhNhiemVu())
            {
                loop++;
                if (loop >= 5)
                {
                    Helper.showAlert(mCharacter.ID, "Nhiệm vụ phi tặc này có vấn đề");
                }

                // Mở menu phải
                mAuto.moMenuPhai();

                // Nếu vip dưới 6 thì mới chạy cái này
                if (mCharacter.VipLevel < 6 && mCharacter.VipLevel > 0)
                {
                    // Bay
                    mAuto.bay();
                }

                // Tìm tới tọa độ và gọi quái
                while (!checkDaGoiQuai())
                {
                    // Mở túi nhiệm vụ
                    mAuto.closeAllDialog();
                    mAuto.clickToImage(Constant.ImagePathGlobalTui);
                    mAuto.clickImageByGroup("global", "tui_tab_nhiemvu", true, true);

                    // Nhấp đôi vào bản đồ nhiệm vụ
                    mAuto.clickToImage(Constant.ImagePathTriAnBanDoNhiemVu, 0, -20, 2);

                    // Chờ 2s để load map
                    Thread.Sleep(2000);

                    mAuto.closeAllDialog();

                    // Nếu vip dưới 6 thì mới chạy cái này
                    if (mCharacter.VipLevel < 6 && mCharacter.VipLevel > 0)
                    {
                        do
                        {
                            // Nhấp vào tọa độ
                            mAuto.writeStatus("Nhấp vào tọa độ ...");
                            mAuto.clickToImage(Constant.ImagePathTriAnToaDo, 10, -25);
                            mAuto.clickToImage(Constant.ImagePathTriAnToaDo2, 10, -25);
                        } while (mAuto.isMoving());
                    }

                    var full_screen = CaptureHelper.CaptureWindow(mHWnd);

                    // Lưu tracking
                    Bitmap bChuyenKenh  = ImageScanOpenCV.GetImage(Constant.ImagePathGlobalChuyenKenh);
                    var    pBChuyenKenh = ImageScanOpenCV.FindOutPoint((Bitmap)full_screen, bChuyenKenh);

                    if (pBChuyenKenh != null)
                    {
                        Bitmap tracking = CaptureHelper.CropImage((Bitmap)full_screen, new Rectangle(pBChuyenKenh.Value.X, pBChuyenKenh.Value.Y, 180, 20));
                        tracking.Save("tracking/trian_" + mCharacter.ID + ".png", ImageFormat.Png);
                    }
                }

                mAuto.closeAllDialog();

                // Nếu vip dưới 6 thì mới chạy cái này
                if (mCharacter.VipLevel < 6 && mCharacter.VipLevel > 0)
                {
                    // Xuống
                    mAuto.bayXuong();
                }

                // Đóng menu phải
                mAuto.dongMenuPhai();

                // Tìm phản quân hoặc phi tặc
                int x = 0;
                while (!mAuto.findImage(Constant.ImagePathDoiThoai + "trian" + ".png") && x < lPTPQ.Count)
                {
                    if (mAuto.findImage(lPTPQ[x].imagePath))
                    {
                        mAuto.clickToImage(lPTPQ[x].imagePath, lPTPQ[x].x, lPTPQ[x].y);
                    }

                    x++;
                }

                // Đánh
                mAuto.clickToImage(Constant.ImagePathDoiThoai + "trian" + ".png");

                // Nghỉ 5s nếu nhân vật đang trong trận đấu
                while (mAuto.dangTrongTranDau())
                {
                    Thread.Sleep(5000);
                }

                if (checkDaDanhNhiemVu())
                {
                    break;
                }

                // Lưu 4 vị trí xung quanh vị trí hiện tại
                if (pos.Count <= 0)
                {
                    // Mở bảng đồ mini
                    mAuto.clickToImage(Constant.ImagePathMiniMap);

                    Thread.Sleep(1000);

                    var full_screen = CaptureHelper.CaptureWindow(mHWnd);

                    // Tắt các bảng nổi
                    mAuto.closeAllDialog();

                    // Lưu 4 vị trí
                    Bitmap iBtn = ImageScanOpenCV.GetImage(Constant.ImagePathInMapChar);
                    var    pBtn = ImageScanOpenCV.FindOutPoint((Bitmap)full_screen, iBtn);

                    if (pBtn != null)
                    {
                        pos.Add(CaptureHelper.CropImage((Bitmap)full_screen, new Rectangle(pBtn.Value.X + (-15), pBtn.Value.Y + (-30), 30, 30)));
                        pos.Add(CaptureHelper.CropImage((Bitmap)full_screen, new Rectangle(pBtn.Value.X + (11), pBtn.Value.Y + (0), 30, 30)));
                        pos.Add(CaptureHelper.CropImage((Bitmap)full_screen, new Rectangle(pBtn.Value.X + (-15), pBtn.Value.Y + (20), 30, 30)));
                        pos.Add(CaptureHelper.CropImage((Bitmap)full_screen, new Rectangle(pBtn.Value.X + (-32), pBtn.Value.Y + (0), 30, 30)));
                    }
                }

                // Di chuyển đến vị trí quanh ptpq
                int i = 0;
                while (!mAuto.findImage(Constant.ImagePathDoiThoai + "trian" + ".png") && i < pos.Count)
                {
                    // Mở menu phải
                    mAuto.moMenuPhai();

                    // Bay lên
                    mAuto.bay();

                    // Mở bảng đồ mini
                    mAuto.clickToImage(Constant.ImagePathMiniMap);

                    // Nhấp vào vị trí xung quanh ptpq
                    mAuto.clickImage(pos[i], 15, -15);

                    // Tắt các bảng nổi
                    mAuto.closeAllDialog();

                    // Đóng menu phải
                    mAuto.dongMenuPhai();

                    // Tìm phản quân hoặc phi tặc
                    int y = 0;
                    while (!mAuto.findImage(Constant.ImagePathDoiThoai + "trian" + ".png") && y < lPTPQ.Count)
                    {
                        if (mAuto.findImage(lPTPQ[y].imagePath))
                        {
                            // Mở menu phải
                            mAuto.moMenuPhai();

                            // Bay xuống
                            if (mAuto.findImage(Constant.ImagePathGlobalXuong))
                            {
                                mAuto.bayXuong();
                                Thread.Sleep(3000);
                            }

                            // Đóng menu phải
                            mAuto.dongMenuPhai();

                            mAuto.clickToImage(lPTPQ[y].imagePath, lPTPQ[y].x, lPTPQ[y].y);
                            Thread.Sleep(1000);
                        }

                        y++;
                    }

                    i++;
                }

                // Đánh
                mAuto.clickToImage(Constant.ImagePathDoiThoai + "trian" + ".png");

                // Nghỉ 5s nếu nhân vật đang trong trận đấu
                while (mAuto.dangTrongTranDau())
                {
                    Thread.Sleep(5000);
                }
            }

            if (!checkHoanThanhNhiemVu())
            {
                // Nhấn vào nhận Q Trị An
                mAuto.clickImageByGroup("tri_an", "nhiemvutrianchuanhan", false, true);
                mAuto.clickImageByGroup("tri_an", "nhiemvuphanquandaxong", false, true);
                mAuto.clickImageByGroup("tri_an", "nhiemvuphitacdaxong", false, true);
                // Trả nhiệm vụ
                mAuto.traNhiemVu();
            }
        }
Example #14
0
        private void buttonTestCapturePosition_Click(object sender, EventArgs e)
        {
            IntPtr hWnd = IntPtr.Zero;

            // Find define handle of project
            hWnd = AutoControl.FindWindowHandle(null, textBoxTestID.Text);

            if (hWnd == IntPtr.Zero)
            {
                MessageBox.Show("Không tìm thấy nhân vật này đang được chạy.");
            }

            var imagePath = textBoxTestPath.Text;

            // Chụp màn hình
            var full_screen = CaptureHelper.CaptureWindow(hWnd);

            Bitmap        iBtn = ImageScanOpenCV.GetImage(imagePath);
            var           pBtn = ImageScanOpenCV.FindOutPoint((Bitmap)full_screen, iBtn);
            List <Bitmap> pos  = new List <Bitmap>();

            //if (pBtn != null)
            //{
            //    pos.Add(CaptureHelper.CropImage((Bitmap)full_screen, new Rectangle(pBtn.Value.X + (-15), pBtn.Value.Y + (-30), 30, 30)));
            //    pos.Add(CaptureHelper.CropImage((Bitmap)full_screen, new Rectangle(pBtn.Value.X + (11), pBtn.Value.Y + (0), 30, 30)));
            //    pos.Add(CaptureHelper.CropImage((Bitmap)full_screen, new Rectangle(pBtn.Value.X + (-15), pBtn.Value.Y + (20), 30, 30)));
            //    pos.Add(CaptureHelper.CropImage((Bitmap)full_screen, new Rectangle(pBtn.Value.X + (-32), pBtn.Value.Y + (0), 30, 30)));
            //}
            //pictureBoxTest1.Image = pos[0];
            //pictureBoxTest2.Image = pos[1];
            //pictureBoxTest3.Image = pos[2];
            //pictureBoxTest4.Image = pos[3];

            //MessageBox.Show(pos.Count.ToString());

            // top: x -15, y -30
            // left: x -30, y 0
            // down: x -15, y 20
            // right: x 11, y 0
            // Click: x 15, y -15



            if (pBtn != null)
            {
                int x_start_point = pBtn.Value.X + 0;
                int y_start_point = pBtn.Value.Y + 60;
                for (int y = 0; y < 4; y++)
                {
                    for (int x = 0; x < 4; x++)
                    {
                        pos.Add(CaptureHelper.CropImage((Bitmap)full_screen, new Rectangle(
                                                            x_start_point + (x * 100),
                                                            y_start_point + (y * 70),
                                                            100, 70)));
                    }
                }
            }

            MessageBox.Show(pos.Count.ToString());

            // screen: h 60, w 100

            // h: 280, w: 400

            // h: 40 * 7, w: 80 * 5
            for (int z = 0; z < pos.Count; z++)
            {
                var picture = new PictureBox
                {
                    Name     = "pictureBox",
                    Size     = new Size(100, 70),
                    Location = new Point(300 + z * 100, 100 + z * 70),
                    Image    = pos[z],
                };
                this.Controls.Add(picture);
            }
        }