diff --git a/ShareX.ScreenCaptureLib/Forms/RegionCaptureForm.cs b/ShareX.ScreenCaptureLib/Forms/RegionCaptureForm.cs index 75ab89171..65fea8d88 100644 --- a/ShareX.ScreenCaptureLib/Forms/RegionCaptureForm.cs +++ b/ShareX.ScreenCaptureLib/Forms/RegionCaptureForm.cs @@ -231,7 +231,7 @@ internal void InitBackground(Image img) if (IsEditorMode) { - ImageRectangle = new Rectangle(0, 0, Image.Width, Image.Height); + ImageRectangle = new Rectangle(ImageRectangle.X, ImageRectangle.Y, Image.Width, Image.Height); using (Bitmap background = new Bitmap(Image.Width, Image.Height)) using (Graphics g = Graphics.FromImage(background)) @@ -246,6 +246,7 @@ internal void InitBackground(Image img) g.DrawImage(Image, sourceRect); backgroundBrush = new TextureBrush(background) { WrapMode = WrapMode.Clamp }; + backgroundBrush.TranslateTransform(ImageRectangle.X, ImageRectangle.Y); } CenterCanvas(); diff --git a/ShareX.ScreenCaptureLib/Shapes/ShapeManager.cs b/ShareX.ScreenCaptureLib/Shapes/ShapeManager.cs index 2a4471413..5904312b8 100644 --- a/ShareX.ScreenCaptureLib/Shapes/ShapeManager.cs +++ b/ShareX.ScreenCaptureLib/Shapes/ShapeManager.cs @@ -1318,7 +1318,7 @@ public void CropArea(Rectangle rect) if (img != null) { - MoveAll(-rect.X, -rect.Y); + MoveAll(form.ImageRectangle.X - rect.X, form.ImageRectangle.Y - rect.Y); form.InitBackground(img); isAnnotated = true; } @@ -1359,7 +1359,6 @@ private void ChangeImageSize() if (img != null) { - MoveAll(-form.ImageRectangle.X, -form.ImageRectangle.Y); form.InitBackground(img); isAnnotated = true; } @@ -1379,7 +1378,7 @@ private void ChangeCanvasSize() if (img != null) { - MoveAll(canvas.Left - form.ImageRectangle.X, canvas.Top - form.ImageRectangle.Y); + MoveAll(canvas.Left, canvas.Top); form.InitBackground(img); isAnnotated = true; }