mirror of https://github.com/ShareX/ShareX.git
fixed #7366: Handle image save exception
This commit is contained in:
parent
038b270070
commit
77d4f7a039
|
@ -2165,6 +2165,7 @@ namespace ShareX.HelpersLib
|
|||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
DebugHelper.WriteException(e);
|
||||
e.ShowError();
|
||||
}
|
||||
|
||||
|
|
|
@ -133,13 +133,7 @@ namespace ShareX.ScreenCaptureLib
|
|||
btnCapture.Enabled = true;
|
||||
btnOptions.Enabled = true;
|
||||
|
||||
if (manager.Result != null)
|
||||
{
|
||||
btnUpload.Enabled = true;
|
||||
pbOutput.Image = manager.Result;
|
||||
pOutput.AutoScrollPosition = new Point(0, 0);
|
||||
lblResultSize.Text = $"{manager.Result.Width}x{manager.Result.Height}";
|
||||
}
|
||||
LoadImage(manager.Result);
|
||||
|
||||
this.ForceActivate();
|
||||
|
||||
|
@ -149,6 +143,17 @@ namespace ShareX.ScreenCaptureLib
|
|||
}
|
||||
}
|
||||
|
||||
private void LoadImage(Bitmap bmp)
|
||||
{
|
||||
if (bmp != null)
|
||||
{
|
||||
btnUpload.Enabled = true;
|
||||
pbOutput.Image = bmp;
|
||||
pOutput.AutoScrollPosition = new Point(0, 0);
|
||||
lblResultSize.Text = $"{bmp.Width}x{bmp.Height}";
|
||||
}
|
||||
}
|
||||
|
||||
private async Task SelectWindow()
|
||||
{
|
||||
WindowState = FormWindowState.Minimized;
|
||||
|
|
|
@ -372,34 +372,42 @@ namespace ShareX
|
|||
{
|
||||
MemoryStream ms = new MemoryStream();
|
||||
|
||||
switch (imageFormat)
|
||||
try
|
||||
{
|
||||
case EImageFormat.PNG:
|
||||
ImageHelpers.SavePNG(img, ms, pngBitDepth);
|
||||
switch (imageFormat)
|
||||
{
|
||||
case EImageFormat.PNG:
|
||||
ImageHelpers.SavePNG(img, ms, pngBitDepth);
|
||||
|
||||
if (Program.Settings.PNGStripColorSpaceInformation)
|
||||
{
|
||||
using (ms)
|
||||
if (Program.Settings.PNGStripColorSpaceInformation)
|
||||
{
|
||||
return ImageHelpers.PNGStripColorSpaceInformation(ms);
|
||||
using (ms)
|
||||
{
|
||||
return ImageHelpers.PNGStripColorSpaceInformation(ms);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case EImageFormat.JPEG:
|
||||
using (Bitmap newImage = ImageHelpers.FillBackground(img, Color.White))
|
||||
{
|
||||
ImageHelpers.SaveJPEG(newImage, ms, jpegQuality);
|
||||
}
|
||||
break;
|
||||
case EImageFormat.GIF:
|
||||
ImageHelpers.SaveGIF(img, ms, gifQuality);
|
||||
break;
|
||||
case EImageFormat.BMP:
|
||||
img.Save(ms, ImageFormat.Bmp);
|
||||
break;
|
||||
case EImageFormat.TIFF:
|
||||
img.Save(ms, ImageFormat.Tiff);
|
||||
break;
|
||||
break;
|
||||
case EImageFormat.JPEG:
|
||||
using (Bitmap newImage = ImageHelpers.FillBackground(img, Color.White))
|
||||
{
|
||||
ImageHelpers.SaveJPEG(newImage, ms, jpegQuality);
|
||||
}
|
||||
break;
|
||||
case EImageFormat.GIF:
|
||||
ImageHelpers.SaveGIF(img, ms, gifQuality);
|
||||
break;
|
||||
case EImageFormat.BMP:
|
||||
img.Save(ms, ImageFormat.Bmp);
|
||||
break;
|
||||
case EImageFormat.TIFF:
|
||||
img.Save(ms, ImageFormat.Tiff);
|
||||
break;
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
DebugHelper.WriteException(e);
|
||||
e.ShowError();
|
||||
}
|
||||
|
||||
return ms;
|
||||
|
|
Loading…
Reference in New Issue