From 7017fee4a608af18ad2db5813617166ee037e2f8 Mon Sep 17 00:00:00 2001 From: Jaex Date: Sun, 8 Dec 2019 15:14:41 +0300 Subject: [PATCH] Added random rotate option --- .../Drawings/DrawRandomImages.cs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/ShareX.ImageEffectsLib/Drawings/DrawRandomImages.cs b/ShareX.ImageEffectsLib/Drawings/DrawRandomImages.cs index bd82b9266..cab10ee2c 100644 --- a/ShareX.ImageEffectsLib/Drawings/DrawRandomImages.cs +++ b/ShareX.ImageEffectsLib/Drawings/DrawRandomImages.cs @@ -54,6 +54,9 @@ public int ImageCount } } + [DefaultValue(false)] + public bool RandomRotate { get; set; } + public DrawRandomImages() { this.ApplyDefaultPropertyValues(); @@ -86,7 +89,22 @@ public override Image Apply(Image img) int heightOffset = img.Height - img2.Height - 1; Rectangle rect = new Rectangle(MathHelpers.Random(Math.Min(0, widthOffset), Math.Max(0, widthOffset)), MathHelpers.Random(Math.Min(0, heightOffset), Math.Max(0, heightOffset)), img2.Width, img2.Height); + + if (RandomRotate) + { + float moveX = rect.X + (rect.Width / 2f); + float moveY = rect.Y + (rect.Height / 2f); + g.TranslateTransform(moveX, moveY); + g.RotateTransform(MathHelpers.Random(0, 360)); + g.TranslateTransform(-moveX, -moveY); + } + g.DrawImage(img2, rect); + + if (RandomRotate) + { + g.ResetTransform(); + } } } }