mirror of
https://github.com/ShareX/ShareX.git
synced 2024-09-30 01:07:21 +13:00
Added border and checkers parameter
This commit is contained in:
parent
00dd733e76
commit
ab2ff517fb
3 changed files with 20 additions and 5 deletions
|
@ -46,6 +46,9 @@ public class GradientInfo
|
|||
[JsonIgnore]
|
||||
public bool IsVisible => IsValid && Colors.Any(x => x.Color.A > 0);
|
||||
|
||||
[JsonIgnore]
|
||||
public bool IsTransparent => IsValid && Colors.Any(x => x.Color.A < 255);
|
||||
|
||||
public GradientInfo()
|
||||
{
|
||||
Type = LinearGradientMode.Vertical;
|
||||
|
@ -124,15 +127,28 @@ public void Draw(Graphics g, Rectangle rect)
|
|||
}
|
||||
}
|
||||
|
||||
public Bitmap CreateGradientPreview(int width, int height)
|
||||
public Bitmap CreateGradientPreview(int width, int height, bool border = false, bool checkers = false)
|
||||
{
|
||||
Bitmap bmp = new Bitmap(width, height);
|
||||
Rectangle rect = new Rectangle(0, 0, width, height);
|
||||
|
||||
using (Graphics g = Graphics.FromImage(bmp))
|
||||
{
|
||||
if (checkers && IsTransparent)
|
||||
{
|
||||
using (Image checker = ImageHelpers.CreateCheckerPattern())
|
||||
using (Brush checkerBrush = new TextureBrush(checker, WrapMode.Tile))
|
||||
{
|
||||
g.FillRectangle(checkerBrush, rect);
|
||||
}
|
||||
}
|
||||
|
||||
Draw(g, rect);
|
||||
g.DrawRectangleProper(Pens.Black, rect);
|
||||
|
||||
if (border)
|
||||
{
|
||||
g.DrawRectangleProper(Pens.Black, rect);
|
||||
}
|
||||
}
|
||||
|
||||
return bmp;
|
||||
|
|
|
@ -115,7 +115,6 @@ private void InitializeComponent()
|
|||
//
|
||||
// pbPreview
|
||||
//
|
||||
this.pbPreview.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
resources.ApplyResources(this.pbPreview, "pbPreview");
|
||||
this.pbPreview.Name = "pbPreview";
|
||||
this.pbPreview.TabStop = false;
|
||||
|
|
|
@ -93,7 +93,7 @@ private void AddPresets()
|
|||
{
|
||||
GradientInfo gradient = gradients[i];
|
||||
gradient.Type = Gradient.Type;
|
||||
ilPresets.Images.Add(gradient.CreateGradientPreview(100, 25));
|
||||
ilPresets.Images.Add(gradient.CreateGradientPreview(100, 25, true));
|
||||
|
||||
ListViewItem lvi = new ListViewItem();
|
||||
lvi.ImageIndex = i;
|
||||
|
@ -126,7 +126,7 @@ private void UpdatePreview()
|
|||
{
|
||||
if (isReady)
|
||||
{
|
||||
Bitmap bmp = Gradient.CreateGradientPreview(pbPreview.ClientRectangle.Width, pbPreview.ClientRectangle.Height);
|
||||
Bitmap bmp = Gradient.CreateGradientPreview(pbPreview.ClientRectangle.Width, pbPreview.ClientRectangle.Height, true);
|
||||
|
||||
if (pbPreview.Image != null)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue