Example #1
0
        public ResizeManager(Crop2 crop, AreaManager region)
        {
            this.crop = crop;
            this.region = region;

            crop.KeyDown += new KeyEventHandler(crop_KeyDown);

            for (int i = 0; i < resizers.Length; i++)
            {
                resizers[i] = new Label();
                resizers[i].Tag = i;
                resizers[i].Width = resizers[i].Height = 10;
                resizers[i].BackColor = Color.White;
                resizers[i].BorderStyle = BorderStyle.FixedSingle;
                resizers[i].MouseDown += new MouseEventHandler(ResizeManager_MouseDown);
                resizers[i].MouseUp += new MouseEventHandler(ResizeManager_MouseUp);
                resizers[i].MouseMove += new MouseEventHandler(ResizeManager_MouseMove);
                resizers[i].Visible = false;
                crop.Controls.Add(resizers[i]);
            }

            resizers[0].Cursor = Cursors.SizeNWSE;
            resizers[1].Cursor = Cursors.SizeNS;
            resizers[2].Cursor = Cursors.SizeNESW;
            resizers[3].Cursor = Cursors.SizeWE;
            resizers[4].Cursor = Cursors.SizeNWSE;
            resizers[5].Cursor = Cursors.SizeNS;
            resizers[6].Cursor = Cursors.SizeNESW;
            resizers[7].Cursor = Cursors.SizeWE;
        }
Example #2
0
        public ResizeManager(Crop2 crop, AreaManager region)
        {
            this.crop   = crop;
            this.region = region;

            crop.KeyDown += new KeyEventHandler(crop_KeyDown);

            for (int i = 0; i < resizers.Length; i++)
            {
                resizers[i]             = new Label();
                resizers[i].Tag         = i;
                resizers[i].Width       = resizers[i].Height = 10;
                resizers[i].BackColor   = Color.White;
                resizers[i].BorderStyle = BorderStyle.FixedSingle;
                resizers[i].MouseDown  += new MouseEventHandler(ResizeManager_MouseDown);
                resizers[i].MouseUp    += new MouseEventHandler(ResizeManager_MouseUp);
                resizers[i].MouseMove  += new MouseEventHandler(ResizeManager_MouseMove);
                resizers[i].Visible     = false;
                crop.Controls.Add(resizers[i]);
            }

            resizers[0].Cursor = Cursors.SizeNWSE;
            resizers[1].Cursor = Cursors.SizeNS;
            resizers[2].Cursor = Cursors.SizeNESW;
            resizers[3].Cursor = Cursors.SizeWE;
            resizers[4].Cursor = Cursors.SizeNWSE;
            resizers[5].Cursor = Cursors.SizeNS;
            resizers[6].Cursor = Cursors.SizeNESW;
            resizers[7].Cursor = Cursors.SizeWE;
        }
Example #3
0
 static void Main()
 {
     Application.EnableVisualStyles();
     Application.SetCompatibleTextRenderingDefault(false);
     using (Crop2 crop = new Crop2(Capture.CaptureScreen(false)))
     {
         Application.Run(crop);
     }
 }
Example #4
0
        public AreaManager(Crop2 crop)
        {
            Crop            = crop;
            Crop.MouseDown += new MouseEventHandler(Crop_MouseDown);
            Crop.MouseUp   += new MouseEventHandler(Crop_MouseUp);
            Crop.MouseMove += new MouseEventHandler(Crop_MouseMove);

            Resize = new ResizeManager(crop, this);
        }
        public AreaManager(Crop2 crop)
        {
            Crop = crop;
            Crop.MouseDown += new MouseEventHandler(Crop_MouseDown);
            Crop.MouseUp += new MouseEventHandler(Crop_MouseUp);
            Crop.MouseMove += new MouseEventHandler(Crop_MouseMove);

            Resize = new ResizeManager(crop, this);
        }
        public bool CaptureRegionOrWindow()
        {
            if (!Engine.IsTakingScreenShot)
            {
                Engine.IsTakingScreenShot = true;

                bool windowMode = Job2 == JobLevel2.CaptureSelectedWindow;

                if (Engine.ConfigUI == null) Engine.ConfigUI = new XMLSettings();

                try
                {
                    Screenshot.DrawCursor = Engine.ConfigWorkflow.DrawCursor;

                    using (Image imgSS = Screenshot.CaptureFullscreen())
                    {
                        if (Job2 == JobLevel2.CaptureLastCroppedWindow && !Engine.ConfigUI.LastRegion.IsEmpty)
                        {
                            SetImage(CaptureHelpers.CropImage(imgSS, Engine.ConfigUI.LastRegion));
                        }

                        else if (Job2 == JobLevel2.CaptureSelectedWindow)
                        {
                            CaptureWindow(imgSS);
                        }

                        else
                        {
                            switch (Engine.ConfigUI.CropEngineMode)
                            {
                                case CropEngineType.CropLite:
                                    using (var crop = new CropLight(imgSS))
                                    {
                                        if (crop.ShowDialog() == DialogResult.OK)
                                        {
                                            SetImage(CaptureHelpers.CropImage(imgSS, crop.SelectionRectangle));
                                        }
                                    }
                                    break;
                                case CropEngineType.Cropv1:
                                    CaptureRectangle(imgSS);
                                    break;
                                case CropEngineType.Cropv2:
                                    using (var crop = new Crop2(imgSS))
                                    {
                                        if (crop.ShowDialog() == DialogResult.OK)
                                        {
                                            SetImage(crop.GetCroppedScreenshot());
                                        }
                                    }
                                    break;
                                case CropEngineType.Cropv3:
                                    Surface surface = new RectangleRegion(imgSS);
                                    surface.Config = Engine.ConfigUI.SurfaceConfig;
                                    if (surface.ShowDialog() == DialogResult.OK)
                                    {
                                        SetImage(surface.GetRegionImage());
                                    }
                                    break;
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    DebugHelper.WriteException(ex, "Error while capturing region");
                    Errors.Add(ex.Message);
                    if (Engine.ConfigOptions.CaptureEntireScreenOnError)
                    {
                        CaptureScreen();
                    }
                }
                finally
                {
                    MyWorker.ReportProgress((int)ProgressType.UpdateCropMode);
                    Engine.IsTakingScreenShot = false;
                }
            }

            return TempImage != null;
        }