mirror of
https://github.com/bloxstraplabs/bloxstrap.git
synced 2025-04-18 16:41:36 -07:00
36 lines
1.2 KiB
C#
36 lines
1.2 KiB
C#
using System.Drawing;
|
|
using System.Windows.Media.Imaging;
|
|
using System.Windows.Media;
|
|
|
|
namespace Bloxstrap.Extensions
|
|
{
|
|
public static class IconEx
|
|
{
|
|
public static Icon GetSized(this Icon icon, int width, int height) => new(icon, new Size(width, height));
|
|
|
|
public static ImageSource GetImageSource(this Icon icon, bool handleException = true)
|
|
{
|
|
using MemoryStream stream = new();
|
|
icon.Save(stream);
|
|
|
|
if (handleException)
|
|
{
|
|
try
|
|
{
|
|
return BitmapFrame.Create(stream, BitmapCreateOptions.None, BitmapCacheOption.OnLoad);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
App.Logger.WriteException("IconEx::GetImageSource", ex);
|
|
Frontend.ShowMessageBox(String.Format(Strings.Dialog_IconLoadFailed, ex.Message));
|
|
return BootstrapperIcon.IconBloxstrap.GetIcon().GetImageSource(false);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
return BitmapFrame.Create(stream, BitmapCreateOptions.None, BitmapCacheOption.OnLoad);
|
|
}
|
|
}
|
|
}
|
|
}
|