public static void CaptureLastRegion(TaskSettings taskSettings, bool autoHideForm = true) { switch (lastRegionCaptureType) { case LastRegionCaptureType.Default: if (RegionCaptureForm.LastRegionFillPath != null) { DoCapture(() => { using (Image screenshot = TaskHelpers.GetScreenshot(taskSettings).CaptureFullscreen()) { Image img = RegionCaptureTasks.ApplyRegionPathToImage(screenshot, RegionCaptureForm.LastRegionFillPath); return(new ImageInfo(img)); } }, CaptureType.LastRegion, taskSettings, autoHideForm); } else { CaptureRegion(taskSettings, autoHideForm); } break; case LastRegionCaptureType.Light: if (!RegionCaptureLightForm.LastSelectionRectangle0Based.IsEmpty) { DoCapture(() => { using (Image screenshot = TaskHelpers.GetScreenshot(taskSettings).CaptureFullscreen()) { Image img = ImageHelpers.CropImage(screenshot, RegionCaptureLightForm.LastSelectionRectangle0Based); return(new ImageInfo(img)); } }, CaptureType.LastRegion, taskSettings, autoHideForm); } else { CaptureRectangleLight(taskSettings, autoHideForm); } break; case LastRegionCaptureType.Transparent: if (!RegionCaptureTransparentForm.LastSelectionRectangle0Based.IsEmpty) { DoCapture(() => { using (Image screenshot = TaskHelpers.GetScreenshot(taskSettings).CaptureFullscreen()) { Image img = ImageHelpers.CropImage(screenshot, RegionCaptureTransparentForm.LastSelectionRectangle0Based); return(new ImageInfo(img)); } }, CaptureType.LastRegion, taskSettings, autoHideForm); } else { CaptureRectangleTransparent(taskSettings, autoHideForm); } break; } }
protected override ImageInfo Execute(TaskSettings taskSettings) { switch (lastRegionCaptureType) { default: case RegionCaptureType.Default: if (RegionCaptureForm.LastRegionFillPath != null) { using (Image screenshot = TaskHelpers.GetScreenshot(taskSettings).CaptureFullscreen()) { Image img = RegionCaptureTasks.ApplyRegionPathToImage(screenshot, RegionCaptureForm.LastRegionFillPath, out _); return(new ImageInfo(img)); } } else { return(ExecuteRegionCapture(taskSettings)); } case RegionCaptureType.Light: if (!RegionCaptureLightForm.LastSelectionRectangle0Based.IsEmpty) { using (Image screenshot = TaskHelpers.GetScreenshot(taskSettings).CaptureFullscreen()) { Image img = ImageHelpers.CropImage(screenshot, RegionCaptureLightForm.LastSelectionRectangle0Based); return(new ImageInfo(img)); } } else { return(ExecuteRegionCaptureLight(taskSettings)); } case RegionCaptureType.Transparent: if (!RegionCaptureTransparentForm.LastSelectionRectangle0Based.IsEmpty) { using (Image screenshot = TaskHelpers.GetScreenshot(taskSettings).CaptureFullscreen()) { Image img = ImageHelpers.CropImage(screenshot, RegionCaptureTransparentForm.LastSelectionRectangle0Based); return(new ImageInfo(img)); } } else { return(ExecuteRegionCaptureTransparent(taskSettings)); } } }