mirror of
https://github.com/ShareX/ShareX.git
synced 2024-09-30 01:07:21 +13:00
Added gradient live preview to ImageBeautifierForm
This commit is contained in:
parent
cdc9add75f
commit
8e08f28620
2 changed files with 26 additions and 4 deletions
|
@ -32,6 +32,9 @@ namespace ShareX.HelpersLib
|
|||
{
|
||||
public partial class GradientPickerForm : Form
|
||||
{
|
||||
public delegate void GradientChangedEventHandler();
|
||||
public event GradientChangedEventHandler GradientChanged;
|
||||
|
||||
public GradientInfo Gradient { get; private set; }
|
||||
|
||||
private bool isReady;
|
||||
|
@ -48,6 +51,11 @@ public GradientPickerForm(GradientInfo gradient)
|
|||
UpdateGradientList(true);
|
||||
}
|
||||
|
||||
protected virtual void OnGradientChanged()
|
||||
{
|
||||
GradientChanged?.Invoke();
|
||||
}
|
||||
|
||||
private void AddPresets()
|
||||
{
|
||||
GradientInfo[] gradients = new GradientInfo[]
|
||||
|
@ -497,6 +505,8 @@ private void UpdatePreview()
|
|||
Bitmap bmp = Gradient.CreateGradientPreview(pbPreview.ClientRectangle.Width, pbPreview.ClientRectangle.Height, true);
|
||||
pbPreview.Image?.Dispose();
|
||||
pbPreview.Image = bmp;
|
||||
|
||||
OnGradientChanged();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -24,12 +24,12 @@ You should have received a copy of the GNU General Public License
|
|||
#endregion License Information (GPL v3)
|
||||
|
||||
using ShareX.HelpersLib;
|
||||
using ShareX.MediaLib.Properties;
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using ShareX.MediaLib.Properties;
|
||||
|
||||
namespace ShareX.MediaLib
|
||||
{
|
||||
|
@ -269,15 +269,27 @@ private async void pbBackground_Click(object sender, EventArgs e)
|
|||
switch (Options.BackgroundType)
|
||||
{
|
||||
case ImageBeautifierBackgroundType.Gradient:
|
||||
using (GradientPickerForm gradientPickerForm = new GradientPickerForm(Options.BackgroundGradient.Copy()))
|
||||
GradientInfo currentGradient = Options.BackgroundGradient;
|
||||
|
||||
using (GradientPickerForm gradientPickerForm = new GradientPickerForm(currentGradient.Copy()))
|
||||
{
|
||||
gradientPickerForm.GradientChanged += async () =>
|
||||
{
|
||||
Options.BackgroundGradient = gradientPickerForm.Gradient;
|
||||
await UpdatePreview(true);
|
||||
};
|
||||
|
||||
if (gradientPickerForm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
Options.BackgroundGradient = gradientPickerForm.Gradient;
|
||||
UpdateBackgroundPreview();
|
||||
|
||||
await UpdatePreview();
|
||||
}
|
||||
else
|
||||
{
|
||||
Options.BackgroundGradient = currentGradient;
|
||||
}
|
||||
|
||||
await UpdatePreview();
|
||||
}
|
||||
break;
|
||||
case ImageBeautifierBackgroundType.Color:
|
||||
|
|
Loading…
Reference in a new issue