diff --git a/ShareX.ScreenCaptureLib/RegionCaptureHelpers.cs b/ShareX.ScreenCaptureLib/RegionCaptureHelpers.cs index c5c4e4c6c..5c241a809 100644 --- a/ShareX.ScreenCaptureLib/RegionCaptureHelpers.cs +++ b/ShareX.ScreenCaptureLib/RegionCaptureHelpers.cs @@ -150,30 +150,38 @@ public static void ShowScreenRuler(RegionCaptureOptions options) } } - public static void AnnotateImage(string filePath, RegionCaptureOptions options) + public static Image AnnotateImage(string filePath, RegionCaptureOptions options) { if (File.Exists(filePath)) { using (Image img = ImageHelpers.LoadImage(filePath)) - using (RegionCaptureForm form = new RegionCaptureForm(RegionCaptureMode.Editor)) { - form.Config = GetRegionCaptureOptions(options); - form.Config.DetectWindows = false; - form.Config.ShowTips = false; - form.Config.UseDimming = false; - - form.Prepare(img); - form.ShowDialog(); - - if (form.Result == RegionResult.Region) - { - using (Image result = form.GetResultImage()) - { - ImageHelpers.SaveImage(result, filePath); - } - } + return AnnotateImage(img, options); } } + + return null; + } + + public static Image AnnotateImage(Image img, RegionCaptureOptions options) + { + using (RegionCaptureForm form = new RegionCaptureForm(RegionCaptureMode.Editor)) + { + form.Config = GetRegionCaptureOptions(options); + form.Config.DetectWindows = false; + form.Config.ShowTips = false; + form.Config.UseDimming = false; + + form.Prepare(img); + form.ShowDialog(); + + if (form.Result == RegionResult.Region) + { + return form.GetResultImage(); + } + } + + return null; } public static Image ApplyRegionPathToImage(Image img, GraphicsPath gp) diff --git a/ShareX/TaskHelpers.cs b/ShareX/TaskHelpers.cs index 562fb0c8c..747bc2ecc 100644 --- a/ShareX/TaskHelpers.cs +++ b/ShareX/TaskHelpers.cs @@ -606,7 +606,13 @@ public static void OpenImageEditor(string filePath = null, TaskSettings taskSett if (!string.IsNullOrEmpty(filePath)) { - RegionCaptureHelpers.AnnotateImage(filePath, taskSettings.CaptureSettingsReference.SurfaceOptions); + Image img = RegionCaptureHelpers.AnnotateImage(filePath, taskSettings.CaptureSettingsReference.SurfaceOptions); + + if (img != null) + { + UploadManager.RunImageTask(img, taskSettings); + } + //AnnotateImage(filePath); } }