mirror of
https://github.com/ShareX/ShareX.git
synced 2024-09-30 01:07:21 +13:00
Added dash style option to "Border" image effect
This commit is contained in:
parent
03bf950ba8
commit
6799edaa1b
2 changed files with 13 additions and 8 deletions
|
@ -655,15 +655,16 @@ public static Bitmap AddReflection(Image img, int percentage, int maxAlpha, int
|
||||||
return reflection;
|
return reflection;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Bitmap DrawBorder(Bitmap bmp, Color borderColor, int borderSize, BorderType borderType)
|
public static Bitmap DrawBorder(Bitmap bmp, Color borderColor, int borderSize, BorderType borderType, DashStyle dashStyle = DashStyle.Solid)
|
||||||
{
|
{
|
||||||
using (Pen borderPen = new Pen(borderColor, borderSize) { Alignment = PenAlignment.Inset })
|
using (Pen borderPen = new Pen(borderColor, borderSize) { Alignment = PenAlignment.Inset, DashStyle = dashStyle })
|
||||||
{
|
{
|
||||||
return DrawBorder(bmp, borderPen, borderType);
|
return DrawBorder(bmp, borderPen, borderType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Bitmap DrawBorder(Bitmap bmp, Color fromBorderColor, Color toBorderColor, LinearGradientMode gradientType, int borderSize, BorderType borderType)
|
public static Bitmap DrawBorder(Bitmap bmp, Color fromBorderColor, Color toBorderColor, LinearGradientMode gradientType, int borderSize, BorderType borderType,
|
||||||
|
DashStyle dashStyle = DashStyle.Solid)
|
||||||
{
|
{
|
||||||
int width = bmp.Width;
|
int width = bmp.Width;
|
||||||
int height = bmp.Height;
|
int height = bmp.Height;
|
||||||
|
@ -675,13 +676,13 @@ public static Bitmap DrawBorder(Bitmap bmp, Color fromBorderColor, Color toBorde
|
||||||
}
|
}
|
||||||
|
|
||||||
using (LinearGradientBrush brush = new LinearGradientBrush(new Rectangle(0, 0, width, height), fromBorderColor, toBorderColor, gradientType))
|
using (LinearGradientBrush brush = new LinearGradientBrush(new Rectangle(0, 0, width, height), fromBorderColor, toBorderColor, gradientType))
|
||||||
using (Pen borderPen = new Pen(brush, borderSize) { Alignment = PenAlignment.Inset })
|
using (Pen borderPen = new Pen(brush, borderSize) { Alignment = PenAlignment.Inset, DashStyle = dashStyle })
|
||||||
{
|
{
|
||||||
return DrawBorder(bmp, borderPen, borderType);
|
return DrawBorder(bmp, borderPen, borderType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Bitmap DrawBorder(Bitmap bmp, GradientInfo gradientInfo, int borderSize, BorderType borderType)
|
public static Bitmap DrawBorder(Bitmap bmp, GradientInfo gradientInfo, int borderSize, BorderType borderType, DashStyle dashStyle = DashStyle.Solid)
|
||||||
{
|
{
|
||||||
int width = bmp.Width;
|
int width = bmp.Width;
|
||||||
int height = bmp.Height;
|
int height = bmp.Height;
|
||||||
|
@ -693,7 +694,7 @@ public static Bitmap DrawBorder(Bitmap bmp, GradientInfo gradientInfo, int borde
|
||||||
}
|
}
|
||||||
|
|
||||||
using (LinearGradientBrush brush = gradientInfo.GetGradientBrush(new Rectangle(0, 0, width, height)))
|
using (LinearGradientBrush brush = gradientInfo.GetGradientBrush(new Rectangle(0, 0, width, height)))
|
||||||
using (Pen borderPen = new Pen(brush, borderSize) { Alignment = PenAlignment.Inset })
|
using (Pen borderPen = new Pen(brush, borderSize) { Alignment = PenAlignment.Inset, DashStyle = dashStyle })
|
||||||
{
|
{
|
||||||
return DrawBorder(bmp, borderPen, borderType);
|
return DrawBorder(bmp, borderPen, borderType);
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,7 @@ You should have received a copy of the GNU General Public License
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Drawing.Design;
|
using System.Drawing.Design;
|
||||||
|
using System.Drawing.Drawing2D;
|
||||||
|
|
||||||
namespace ShareX.ImageEffectsLib
|
namespace ShareX.ImageEffectsLib
|
||||||
{
|
{
|
||||||
|
@ -54,6 +55,9 @@ public int Size
|
||||||
[DefaultValue(typeof(Color), "Black"), Editor(typeof(MyColorEditor), typeof(UITypeEditor)), TypeConverter(typeof(MyColorConverter))]
|
[DefaultValue(typeof(Color), "Black"), Editor(typeof(MyColorEditor), typeof(UITypeEditor)), TypeConverter(typeof(MyColorConverter))]
|
||||||
public Color Color { get; set; }
|
public Color Color { get; set; }
|
||||||
|
|
||||||
|
[DefaultValue(DashStyle.Solid), TypeConverter(typeof(EnumProperNameConverter))]
|
||||||
|
public DashStyle DashStyle { get; set; }
|
||||||
|
|
||||||
[DefaultValue(false)]
|
[DefaultValue(false)]
|
||||||
public bool UseGradient { get; set; }
|
public bool UseGradient { get; set; }
|
||||||
|
|
||||||
|
@ -79,10 +83,10 @@ public override Bitmap Apply(Bitmap bmp)
|
||||||
{
|
{
|
||||||
if (UseGradient && Gradient != null && Gradient.IsValid)
|
if (UseGradient && Gradient != null && Gradient.IsValid)
|
||||||
{
|
{
|
||||||
return ImageHelpers.DrawBorder(bmp, Gradient, Size, Type);
|
return ImageHelpers.DrawBorder(bmp, Gradient, Size, Type, DashStyle);
|
||||||
}
|
}
|
||||||
|
|
||||||
return ImageHelpers.DrawBorder(bmp, Color, Size, Type);
|
return ImageHelpers.DrawBorder(bmp, Color, Size, Type, DashStyle);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in a new issue