Added image effects hotkey

This commit is contained in:
Jaex 2013-11-20 19:59:00 +02:00
parent d3c110bc36
commit 4f2c96ce29
13 changed files with 47 additions and 26 deletions

View File

@ -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();

View File

@ -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);
}

View File

@ -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);
}

View File

@ -210,7 +210,7 @@ namespace HelpersLib
{
try
{
using (Image img = Helpers.GetImageFromFile(path))
using (Image img = ImageHelpers.LoadImage(path))
{
return CopyImage(img);
}

View File

@ -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');

View File

@ -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;
}
}
}

View File

@ -197,7 +197,7 @@ namespace HelpersLib
{
isImageLoading = true;
Reset();
Image = Helpers.GetImageFromFile(filePath);
Image = ImageHelpers.LoadImage(filePath);
AutoSetSizeMode();
isImageLoading = false;
}

View File

@ -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);

View File

@ -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();
}
}

View File

@ -163,7 +163,9 @@ namespace ShareX
[Description("Hash check")]
HashCheck,
[Description("Index folder")]
IndexFolder
IndexFolder,
[Description("Image effects")]
ImageEffects
}
public enum HotkeyStatus

View File

@ -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)

View File

@ -134,6 +134,9 @@ namespace ShareX
case HotkeyType.IndexFolder:
OpenIndexFolder();
break;
case HotkeyType.ImageEffects:
OpenImageEffects();
break;
}
}

View File

@ -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
{