diff --git a/ShareX.ScreenCaptureLib/Enums.cs b/ShareX.ScreenCaptureLib/Enums.cs
index 10f6f4eb9..f2ebc355a 100644
--- a/ShareX.ScreenCaptureLib/Enums.cs
+++ b/ShareX.ScreenCaptureLib/Enums.cs
@@ -164,7 +164,9 @@ public enum ShapeType
[Description("Drawing: Arrow")]
DrawingArrow,
[Description("Drawing: Blur")]
- DrawingBlur
+ DrawingBlur,
+ [Description("Drawing: Pixelate")]
+ DrawingPixelate
}
public enum RegionAnnotateMode
diff --git a/ShareX.ScreenCaptureLib/RegionHelpers/AreaManager.cs b/ShareX.ScreenCaptureLib/RegionHelpers/AreaManager.cs
index 58278d827..757787f83 100644
--- a/ShareX.ScreenCaptureLib/RegionHelpers/AreaManager.cs
+++ b/ShareX.ScreenCaptureLib/RegionHelpers/AreaManager.cs
@@ -696,6 +696,9 @@ public BaseShape CreateRegionShape(Rectangle rect)
case ShapeType.DrawingBlur:
shape = new BlurDrawingShape();
break;
+ case ShapeType.DrawingPixelate:
+ shape = new PixelateDrawingShape();
+ break;
}
shape.Rectangle = rect;
diff --git a/ShareX.ScreenCaptureLib/Shapes/Drawing/PixelateDrawingShape.cs b/ShareX.ScreenCaptureLib/Shapes/Drawing/PixelateDrawingShape.cs
new file mode 100644
index 000000000..b531632fe
--- /dev/null
+++ b/ShareX.ScreenCaptureLib/Shapes/Drawing/PixelateDrawingShape.cs
@@ -0,0 +1,67 @@
+#region License Information (GPL v3)
+
+/*
+ ShareX - A program that allows you to take screenshots and share any file type
+ Copyright (c) 2007-2016 ShareX Team
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version 2
+ of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ Optionally you can also view the license at .
+*/
+
+#endregion License Information (GPL v3)
+
+using ShareX.HelpersLib;
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Drawing.Drawing2D;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace ShareX.ScreenCaptureLib
+{
+ public class PixelateDrawingShape : BaseDrawingShape
+ {
+ public override ShapeType ShapeType { get; } = ShapeType.DrawingBlur;
+
+ public override void Draw(Graphics g)
+ {
+ using (Brush brush = new SolidBrush(Color.FromArgb(200, Color.Black)))
+ {
+ g.FillRectangle(brush, Rectangle);
+ }
+
+ if (Rectangle.Width > 10 && Rectangle.Height > 10)
+ {
+ using (Font font = new Font("Verdana", 15, FontStyle.Bold))
+ using (StringFormat sf = new StringFormat { Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center })
+ {
+ g.DrawString("Pixelate", font, Brushes.White, Rectangle, sf);
+ }
+ }
+ }
+
+ public override void DrawOutput(Graphics g, Bitmap bmp)
+ {
+ using (Bitmap croppedImage = ImageHelpers.CropBitmap(bmp, Rectangle))
+ using (Bitmap pixelatedImage = ImageHelpers.Pixelate(croppedImage, 7))
+ {
+ g.DrawImage(pixelatedImage, Rectangle);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/ShareX.ScreenCaptureLib/ShareX.ScreenCaptureLib.csproj b/ShareX.ScreenCaptureLib/ShareX.ScreenCaptureLib.csproj
index 557cae27f..09e3bf009 100644
--- a/ShareX.ScreenCaptureLib/ShareX.ScreenCaptureLib.csproj
+++ b/ShareX.ScreenCaptureLib/ShareX.ScreenCaptureLib.csproj
@@ -86,6 +86,7 @@
+