mirror of https://github.com/ShareX/ShareX.git
Added image effects hotkey
This commit is contained in:
parent
d3c110bc36
commit
4f2c96ce29
|
@ -56,7 +56,7 @@ namespace HelpersLib
|
|||
{
|
||||
if (!string.IsNullOrEmpty(filepath) && File.Exists(filepath))
|
||||
{
|
||||
using (Image img = Helpers.GetImageFromFile(filepath))
|
||||
using (Image img = ImageHelpers.LoadImage(filepath))
|
||||
using (ImageViewer viewer = new ImageViewer(img))
|
||||
{
|
||||
viewer.ShowDialog();
|
||||
|
|
|
@ -97,7 +97,7 @@ namespace HelpersLib
|
|||
|
||||
public void AddFrame(string path)
|
||||
{
|
||||
using (Image img = Helpers.GetImageFromFile(path))
|
||||
using (Image img = ImageHelpers.LoadImage(path))
|
||||
{
|
||||
AddFrame(img);
|
||||
}
|
||||
|
|
|
@ -66,7 +66,7 @@ namespace HelpersLib
|
|||
|
||||
public void AddFrame(string path, GIFQuality quality = GIFQuality.Default)
|
||||
{
|
||||
using (Image img = Helpers.GetImageFromFile(path))
|
||||
using (Image img = ImageHelpers.LoadImage(path))
|
||||
{
|
||||
AddFrame(img, quality);
|
||||
}
|
||||
|
|
|
@ -210,7 +210,7 @@ namespace HelpersLib
|
|||
{
|
||||
try
|
||||
{
|
||||
using (Image img = Helpers.GetImageFromFile(path))
|
||||
using (Image img = ImageHelpers.LoadImage(path))
|
||||
{
|
||||
return CopyImage(img);
|
||||
}
|
||||
|
|
|
@ -109,17 +109,6 @@ namespace HelpersLib
|
|||
return EDataType.File;
|
||||
}
|
||||
|
||||
// http://stackoverflow.com/questions/788335/why-does-image-fromfile-keep-a-file-handle-open-sometimes
|
||||
public static Image GetImageFromFile(string filePath)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(filePath) && File.Exists(filePath))
|
||||
{
|
||||
return Image.FromStream(new MemoryStream(File.ReadAllBytes(filePath)));
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public static string AddZeroes(int number, int digits = 2)
|
||||
{
|
||||
return number.ToString().PadLeft(digits, '0');
|
||||
|
|
|
@ -1014,5 +1014,16 @@ namespace HelpersLib
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
// http://stackoverflow.com/questions/788335/why-does-image-fromfile-keep-a-file-handle-open-sometimes
|
||||
public static Image LoadImage(string filePath)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(filePath) && File.Exists(filePath))
|
||||
{
|
||||
return Image.FromStream(new MemoryStream(File.ReadAllBytes(filePath)));
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -197,7 +197,7 @@ namespace HelpersLib
|
|||
{
|
||||
isImageLoading = true;
|
||||
Reset();
|
||||
Image = Helpers.GetImageFromFile(filePath);
|
||||
Image = ImageHelpers.LoadImage(filePath);
|
||||
AutoSetSizeMode();
|
||||
isImageLoading = false;
|
||||
}
|
||||
|
|
|
@ -68,7 +68,7 @@ namespace ImageEffectsLib
|
|||
{
|
||||
if (!string.IsNullOrEmpty(ImageLocation) && File.Exists(ImageLocation))
|
||||
{
|
||||
using (Image img2 = Helpers.GetImageFromFile(ImageLocation))
|
||||
using (Image img2 = ImageHelpers.LoadImage(ImageLocation))
|
||||
{
|
||||
Point imagePosition = Helpers.GetPosition(Placement, Offset, img.Size, img2.Size);
|
||||
Rectangle imageRectangle = new Rectangle(imagePosition, img2.Size);
|
||||
|
|
|
@ -125,12 +125,15 @@ namespace ImageEffectsLib
|
|||
|
||||
private void UpdatePreview()
|
||||
{
|
||||
Stopwatch timer = Stopwatch.StartNew();
|
||||
|
||||
using (Image preview = ApplyEffects())
|
||||
if (DefaultImage != null)
|
||||
{
|
||||
pbResult.LoadImage(preview);
|
||||
Text = string.Format("ShareX - Image effects - Width: {0}, Height: {1}, Render time: {2} ms", preview.Width, preview.Height, timer.ElapsedMilliseconds);
|
||||
Stopwatch timer = Stopwatch.StartNew();
|
||||
|
||||
using (Image preview = ApplyEffects())
|
||||
{
|
||||
pbResult.LoadImage(preview);
|
||||
Text = string.Format("ShareX - Image effects - Width: {0}, Height: {1}, Render time: {2} ms", preview.Width, preview.Height, timer.ElapsedMilliseconds);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -345,7 +348,7 @@ namespace ImageEffectsLib
|
|||
if (!string.IsNullOrEmpty(filePath))
|
||||
{
|
||||
if (DefaultImage != null) DefaultImage.Dispose();
|
||||
DefaultImage = Helpers.GetImageFromFile(filePath);
|
||||
DefaultImage = ImageHelpers.LoadImage(filePath);
|
||||
UpdatePreview();
|
||||
}
|
||||
}
|
||||
|
@ -381,7 +384,7 @@ namespace ImageEffectsLib
|
|||
if (Helpers.IsImageFile(files[0]))
|
||||
{
|
||||
if (DefaultImage != null) DefaultImage.Dispose();
|
||||
DefaultImage = Helpers.GetImageFromFile(files[0]);
|
||||
DefaultImage = ImageHelpers.LoadImage(files[0]);
|
||||
UpdatePreview();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -163,7 +163,9 @@ namespace ShareX
|
|||
[Description("Hash check")]
|
||||
HashCheck,
|
||||
[Description("Index folder")]
|
||||
IndexFolder
|
||||
IndexFolder,
|
||||
[Description("Image effects")]
|
||||
ImageEffects
|
||||
}
|
||||
|
||||
public enum HotkeyStatus
|
||||
|
|
|
@ -564,6 +564,19 @@ namespace ShareX
|
|||
UploadManager.IndexFolder();
|
||||
}
|
||||
|
||||
private void OpenImageEffects()
|
||||
{
|
||||
string filePath = ImageHelpers.OpenImageFileDialog();
|
||||
|
||||
if (!string.IsNullOrEmpty(filePath))
|
||||
{
|
||||
Image img = ImageHelpers.LoadImage(filePath);
|
||||
ImageEffectsForm form = new ImageEffectsForm(img);
|
||||
form.EditorMode();
|
||||
form.Show();
|
||||
}
|
||||
}
|
||||
|
||||
#region Form events
|
||||
|
||||
protected override void SetVisibleCore(bool value)
|
||||
|
|
|
@ -134,6 +134,9 @@ namespace ShareX
|
|||
case HotkeyType.IndexFolder:
|
||||
OpenIndexFolder();
|
||||
break;
|
||||
case HotkeyType.ImageEffects:
|
||||
OpenImageEffects();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -110,7 +110,7 @@ namespace ShareX
|
|||
if (task.Info.TaskSettings.AdvancedSettings.ProcessImagesDuringFileUpload && dataType == EDataType.Image)
|
||||
{
|
||||
task.Info.Job = TaskJob.ImageJob;
|
||||
task.tempImage = Helpers.GetImageFromFile(filePath);
|
||||
task.tempImage = ImageHelpers.LoadImage(filePath);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue