mirror of
https://github.com/ShareX/ShareX.git
synced 2024-06-24 17:20:58 +12:00
Added "Padding" option to "Auto crop" image effect
This commit is contained in:
parent
911c81b065
commit
1591951c08
|
@ -452,6 +452,11 @@ public static Bitmap AddCanvas(Image img, int margin)
|
|||
return AddCanvas(img, new Padding(margin));
|
||||
}
|
||||
|
||||
public static Bitmap AddCanvas(Image img, int margin, Color canvasColor)
|
||||
{
|
||||
return AddCanvas(img, new Padding(margin), canvasColor);
|
||||
}
|
||||
|
||||
public static Bitmap AddCanvas(Image img, Padding margin)
|
||||
{
|
||||
return AddCanvas(img, margin, Color.Transparent);
|
||||
|
@ -2464,7 +2469,7 @@ public static void DrawColorPickerIcon(Graphics g, Color color, Rectangle rect,
|
|||
}
|
||||
|
||||
public static Bitmap AutoCropImage(Bitmap bmp, bool sameColorCrop = false,
|
||||
AnchorStyles sides = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right)
|
||||
AnchorStyles sides = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right, int padding = 0)
|
||||
{
|
||||
Rectangle source = new Rectangle(0, 0, bmp.Width, bmp.Height);
|
||||
Rectangle rect = FindAutoCropRectangle(bmp, sameColorCrop, sides);
|
||||
|
@ -2475,8 +2480,19 @@ public static void DrawColorPickerIcon(Graphics g, Color color, Rectangle rect,
|
|||
|
||||
if (croppedBitmap != null)
|
||||
{
|
||||
bmp.Dispose();
|
||||
return croppedBitmap;
|
||||
using (bmp)
|
||||
{
|
||||
if (padding > 0)
|
||||
{
|
||||
using (croppedBitmap)
|
||||
{
|
||||
Color color = bmp.GetPixel(0, 0);
|
||||
return AddCanvas(croppedBitmap, padding, color);
|
||||
}
|
||||
}
|
||||
|
||||
return croppedBitmap;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -36,6 +36,9 @@ internal class AutoCrop : ImageEffect
|
|||
[DefaultValue(AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right)]
|
||||
public AnchorStyles Sides { get; set; }
|
||||
|
||||
[DefaultValue(0)]
|
||||
public int Padding { get; set; }
|
||||
|
||||
public AutoCrop()
|
||||
{
|
||||
this.ApplyDefaultPropertyValues();
|
||||
|
@ -43,7 +46,7 @@ public AutoCrop()
|
|||
|
||||
public override Bitmap Apply(Bitmap bmp)
|
||||
{
|
||||
return ImageHelpers.AutoCropImage(bmp, false, Sides);
|
||||
return ImageHelpers.AutoCropImage(bmp, true, Sides, Padding);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue