diff --git a/ShareX.HelpersLib/Helpers/ImageHelpers.cs b/ShareX.HelpersLib/Helpers/ImageHelpers.cs index 1a226f9d8..73a2a20ee 100644 --- a/ShareX.HelpersLib/Helpers/ImageHelpers.cs +++ b/ShareX.HelpersLib/Helpers/ImageHelpers.cs @@ -1286,7 +1286,7 @@ public static void FastBoxBlur(Bitmap bmp, int radius) } } - public static Image TornEdges(Image img, int tornDepth, int tornRange, AnchorStyles sides) + public static Image TornEdges(Image img, int tornDepth, int tornRange, AnchorStyles sides, bool curvedEdges) { if (tornDepth < 1 || tornRange < 1 || sides == AnchorStyles.None) { @@ -1375,7 +1375,15 @@ public static Image TornEdges(Image img, int tornDepth, int tornRange, AnchorSty using (TextureBrush brush = new TextureBrush(img)) { g.SetHighQuality(); - g.FillPolygon(brush, points.ToArray()); + + if (curvedEdges) + { + g.FillClosedCurve(brush, points.ToArray()); + } + else + { + g.FillPolygon(brush, points.ToArray()); + } return result; } diff --git a/ShareX.ImageEffectsLib/Filters/TornEdge.cs b/ShareX.ImageEffectsLib/Filters/TornEdge.cs index df8cdf67b..0d8fa4951 100644 --- a/ShareX.ImageEffectsLib/Filters/TornEdge.cs +++ b/ShareX.ImageEffectsLib/Filters/TornEdge.cs @@ -42,6 +42,9 @@ internal class TornEdge : ImageEffect [DefaultValue(AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right)] public AnchorStyles Sides { get; set; } + [DefaultValue(true)] + public bool CurvedEdges { get; set; } + public TornEdge() { this.ApplyDefaultPropertyValues(); @@ -49,7 +52,7 @@ public TornEdge() public override Image Apply(Image img) { - return ImageHelpers.TornEdges(img, Depth, Range, Sides); + return ImageHelpers.TornEdges(img, Depth, Range, Sides, CurvedEdges); } } } \ No newline at end of file