mirror of
https://github.com/ShareX/ShareX.git
synced 2024-10-01 09:47:22 +13:00
GetImage changes
This commit is contained in:
parent
d78059e0c0
commit
a4383fbb9e
1 changed files with 30 additions and 4 deletions
|
@ -233,9 +233,32 @@ public static bool CopyImageFromFile(string path)
|
|||
|
||||
public static Image GetImage()
|
||||
{
|
||||
if (HelpersOptions.UseAlternativeGetImage)
|
||||
try
|
||||
{
|
||||
lock (ClipboardLock)
|
||||
{
|
||||
if (HelpersOptions.UseAlternativeGetImage)
|
||||
{
|
||||
return GetImageAlternative();
|
||||
}
|
||||
|
||||
return Clipboard.GetImage();
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
DebugHelper.WriteException(e, "Clipboard get image failed.");
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private static Image GetImageAlternative()
|
||||
{
|
||||
IDataObject dataObject = Clipboard.GetDataObject();
|
||||
|
||||
if (dataObject != null)
|
||||
{
|
||||
IDataObject dataObject = Clipboard.GetDataObject();
|
||||
string[] dataFormats = dataObject.GetFormats(false);
|
||||
|
||||
if (dataFormats.Contains("PNG"))
|
||||
|
@ -245,7 +268,8 @@ public static Image GetImage()
|
|||
return (Image)Image.FromStream(ms).Clone();
|
||||
}
|
||||
}
|
||||
else if (dataFormats.Contains(DataFormats.Dib))
|
||||
|
||||
if (dataFormats.Contains(DataFormats.Dib))
|
||||
{
|
||||
byte[] dib;
|
||||
|
||||
|
@ -280,9 +304,11 @@ public static Image GetImage()
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
return dataObject.GetData(DataFormats.Bitmap, true) as Image;
|
||||
}
|
||||
|
||||
return Clipboard.GetImage();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue