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; }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); using (Crop2 crop = new Crop2(Capture.CaptureScreen(false))) { Application.Run(crop); } }
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; }