mirror of
https://github.com/ShareX/ShareX.git
synced 2024-06-24 17:20:58 +12:00
Added canvas color button to canvas size form
This commit is contained in:
parent
19aa3ea9ae
commit
bcaca6a0ad
|
@ -413,6 +413,11 @@ public static Bitmap AddCanvas(Image img, Padding margin, Color canvasColor)
|
|||
|
||||
using (Brush brush = new SolidBrush(canvasColor))
|
||||
{
|
||||
if (margin.Left > 0)
|
||||
{
|
||||
g.FillRectangle(brush, 0, 0, margin.Left, bmp.Height);
|
||||
}
|
||||
|
||||
if (margin.Top > 0)
|
||||
{
|
||||
g.FillRectangle(brush, 0, 0, bmp.Width, margin.Top);
|
||||
|
@ -427,11 +432,6 @@ public static Bitmap AddCanvas(Image img, Padding margin, Color canvasColor)
|
|||
{
|
||||
g.FillRectangle(brush, 0, bmp.Height - margin.Bottom, bmp.Width, margin.Bottom);
|
||||
}
|
||||
|
||||
if (margin.Left > 0)
|
||||
{
|
||||
g.FillRectangle(brush, 0, 0, margin.Left, bmp.Height);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -60,16 +60,14 @@ public override Bitmap Apply(Bitmap bmp)
|
|||
|
||||
if (MarginMode == CanvasMarginMode.PercentageOfCanvas)
|
||||
{
|
||||
// Calculate the amount of padding to add to the sides, based on canvas size.
|
||||
canvasMargin = new Padding();
|
||||
canvasMargin.Top = (int)Math.Round(Margin.Top / 100f * bmp.Height);
|
||||
canvasMargin.Bottom = (int)Math.Round(Margin.Bottom / 100f * bmp.Height);
|
||||
canvasMargin.Left = (int)Math.Round(Margin.Left / 100f * bmp.Width);
|
||||
canvasMargin.Right = (int)Math.Round(Margin.Right / 100f * bmp.Width);
|
||||
canvasMargin.Top = (int)Math.Round(Margin.Top / 100f * bmp.Height);
|
||||
canvasMargin.Bottom = (int)Math.Round(Margin.Bottom / 100f * bmp.Height);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Use the margin as is (absolute size)
|
||||
canvasMargin = Margin;
|
||||
}
|
||||
|
||||
|
|
|
@ -39,6 +39,7 @@ private void InitializeComponent()
|
|||
this.nudBottom = new System.Windows.Forms.NumericUpDown();
|
||||
this.btnOK = new System.Windows.Forms.Button();
|
||||
this.btnCancel = new System.Windows.Forms.Button();
|
||||
this.cbtnCanvasColor = new ShareX.HelpersLib.ColorButton();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nudLeft)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nudRight)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nudTop)).BeginInit();
|
||||
|
@ -140,6 +141,14 @@ private void InitializeComponent()
|
|||
this.btnCancel.UseVisualStyleBackColor = true;
|
||||
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
|
||||
//
|
||||
// cbtnCanvasColor
|
||||
//
|
||||
this.cbtnCanvasColor.Color = System.Drawing.Color.Transparent;
|
||||
this.cbtnCanvasColor.ColorPickerOptions = null;
|
||||
resources.ApplyResources(this.cbtnCanvasColor, "cbtnCanvasColor");
|
||||
this.cbtnCanvasColor.Name = "cbtnCanvasColor";
|
||||
this.cbtnCanvasColor.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// CanvasSizeForm
|
||||
//
|
||||
this.AcceptButton = this.btnOK;
|
||||
|
@ -147,6 +156,7 @@ private void InitializeComponent()
|
|||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = System.Drawing.SystemColors.Window;
|
||||
this.CancelButton = this.btnCancel;
|
||||
this.Controls.Add(this.cbtnCanvasColor);
|
||||
this.Controls.Add(this.btnCancel);
|
||||
this.Controls.Add(this.btnOK);
|
||||
this.Controls.Add(this.lblBottom);
|
||||
|
@ -183,5 +193,6 @@ private void InitializeComponent()
|
|||
private System.Windows.Forms.NumericUpDown nudBottom;
|
||||
private System.Windows.Forms.Button btnOK;
|
||||
private System.Windows.Forms.Button btnCancel;
|
||||
private HelpersLib.ColorButton cbtnCanvasColor;
|
||||
}
|
||||
}
|
|
@ -25,6 +25,7 @@
|
|||
|
||||
using ShareX.HelpersLib;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace ShareX.ScreenCaptureLib
|
||||
|
@ -32,6 +33,7 @@ namespace ShareX.ScreenCaptureLib
|
|||
public partial class CanvasSizeForm : Form
|
||||
{
|
||||
public Padding Canvas { get; private set; }
|
||||
public Color CanvasColor { get; private set; }
|
||||
|
||||
public CanvasSizeForm()
|
||||
{
|
||||
|
@ -39,13 +41,16 @@ public CanvasSizeForm()
|
|||
ShareXResources.ApplyTheme(this);
|
||||
}
|
||||
|
||||
public CanvasSizeForm(Padding canvas) : this()
|
||||
public CanvasSizeForm(Padding canvas, Color canvasColor) : this()
|
||||
{
|
||||
Canvas = canvas;
|
||||
nudLeft.SetValue(canvas.Left);
|
||||
nudTop.SetValue(canvas.Top);
|
||||
nudRight.SetValue(canvas.Right);
|
||||
nudBottom.SetValue(canvas.Bottom);
|
||||
CanvasColor = canvasColor;
|
||||
|
||||
nudLeft.SetValue(Canvas.Left);
|
||||
nudTop.SetValue(Canvas.Top);
|
||||
nudRight.SetValue(Canvas.Right);
|
||||
nudBottom.SetValue(Canvas.Bottom);
|
||||
cbtnCanvasColor.Color = CanvasColor;
|
||||
}
|
||||
|
||||
private void CanvasSizeForm_Shown(object sender, EventArgs e)
|
||||
|
@ -56,13 +61,17 @@ private void CanvasSizeForm_Shown(object sender, EventArgs e)
|
|||
private void btnOK_Click(object sender, EventArgs e)
|
||||
{
|
||||
DialogResult = DialogResult.OK;
|
||||
|
||||
Canvas = new Padding((int)nudLeft.Value, (int)nudTop.Value, (int)nudRight.Value, (int)nudBottom.Value);
|
||||
CanvasColor = cbtnCanvasColor.Color;
|
||||
|
||||
Close();
|
||||
}
|
||||
|
||||
private void btnCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
DialogResult = DialogResult.Cancel;
|
||||
|
||||
Close();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -142,7 +142,7 @@
|
|||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>nudLeft.ZOrder" xml:space="preserve">
|
||||
<value>9</value>
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="lblLeft.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
|
@ -169,7 +169,7 @@
|
|||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>lblLeft.ZOrder" xml:space="preserve">
|
||||
<value>8</value>
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name="lblRight.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
|
@ -196,7 +196,7 @@
|
|||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>lblRight.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="nudRight.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>160, 80</value>
|
||||
|
@ -220,7 +220,7 @@
|
|||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>nudRight.ZOrder" xml:space="preserve">
|
||||
<value>7</value>
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name="lblTop.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
|
@ -247,7 +247,7 @@
|
|||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>lblTop.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="nudTop.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>88, 24</value>
|
||||
|
@ -271,7 +271,7 @@
|
|||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>nudTop.ZOrder" xml:space="preserve">
|
||||
<value>5</value>
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="lblBottom.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
|
@ -298,7 +298,7 @@
|
|||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>lblBottom.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="nudBottom.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>88, 136</value>
|
||||
|
@ -322,16 +322,16 @@
|
|||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>nudBottom.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="btnOK.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>8, 176</value>
|
||||
<value>8, 200</value>
|
||||
</data>
|
||||
<data name="btnOK.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>108, 24</value>
|
||||
</data>
|
||||
<data name="btnOK.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>8</value>
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name="btnOK.Text" xml:space="preserve">
|
||||
<value>OK</value>
|
||||
|
@ -346,16 +346,16 @@
|
|||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>btnOK.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="btnCancel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>124, 176</value>
|
||||
<value>124, 200</value>
|
||||
</data>
|
||||
<data name="btnCancel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>108, 24</value>
|
||||
</data>
|
||||
<data name="btnCancel.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>9</value>
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="btnCancel.Text" xml:space="preserve">
|
||||
<value>Cancel</value>
|
||||
|
@ -370,6 +370,33 @@
|
|||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>btnCancel.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="cbtnCanvasColor.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>8, 168</value>
|
||||
</data>
|
||||
<data name="cbtnCanvasColor.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>144, 23</value>
|
||||
</data>
|
||||
<data name="cbtnCanvasColor.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name="cbtnCanvasColor.Text" xml:space="preserve">
|
||||
<value>Canvas color...</value>
|
||||
</data>
|
||||
<data name="cbtnCanvasColor.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name=">>cbtnCanvasColor.Name" xml:space="preserve">
|
||||
<value>cbtnCanvasColor</value>
|
||||
</data>
|
||||
<data name=">>cbtnCanvasColor.Type" xml:space="preserve">
|
||||
<value>ShareX.HelpersLib.ColorButton, ShareX.HelpersLib, Version=13.7.1.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
<data name=">>cbtnCanvasColor.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>cbtnCanvasColor.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
|
@ -379,7 +406,7 @@
|
|||
<value>6, 13</value>
|
||||
</data>
|
||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>240, 208</value>
|
||||
<value>240, 232</value>
|
||||
</data>
|
||||
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
|
||||
<value>CenterScreen</value>
|
||||
|
|
|
@ -1987,12 +1987,13 @@ private void ChangeCanvasSize()
|
|||
{
|
||||
Form.Pause();
|
||||
|
||||
using (CanvasSizeForm canvasSizeForm = new CanvasSizeForm())
|
||||
using (CanvasSizeForm canvasSizeForm = new CanvasSizeForm(Padding.Empty, Options.EditorCanvasColor))
|
||||
{
|
||||
if (canvasSizeForm.ShowDialog(Form) == DialogResult.OK)
|
||||
{
|
||||
Padding canvas = canvasSizeForm.Canvas;
|
||||
Bitmap bmp = ImageHelpers.AddCanvas(Form.Canvas, canvas, Options.EditorCanvasColor);
|
||||
Color canvasColor = canvasSizeForm.CanvasColor;
|
||||
Bitmap bmp = ImageHelpers.AddCanvas(Form.Canvas, canvas, canvasColor);
|
||||
|
||||
if (bmp != null)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue