|
|
@ -189,14 +189,15 @@ namespace Avalonia.Win32 |
|
|
|
|
|
|
|
|
public IWindowIconImpl LoadIcon(string fileName) |
|
|
public IWindowIconImpl LoadIcon(string fileName) |
|
|
{ |
|
|
{ |
|
|
var icon = new System.Drawing.Bitmap(fileName); |
|
|
using (var stream = File.OpenRead(fileName)) |
|
|
return new IconImpl(icon); |
|
|
{ |
|
|
|
|
|
return CreateImpl(stream); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public IWindowIconImpl LoadIcon(Stream stream) |
|
|
public IWindowIconImpl LoadIcon(Stream stream) |
|
|
{ |
|
|
{ |
|
|
var icon = new System.Drawing.Bitmap(stream); |
|
|
return CreateImpl(stream); |
|
|
return new IconImpl(icon); |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public IWindowIconImpl LoadIcon(IBitmapImpl bitmap) |
|
|
public IWindowIconImpl LoadIcon(IBitmapImpl bitmap) |
|
|
@ -207,5 +208,17 @@ namespace Avalonia.Win32 |
|
|
return new IconImpl(new System.Drawing.Bitmap(memoryStream)); |
|
|
return new IconImpl(new System.Drawing.Bitmap(memoryStream)); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private static IconImpl CreateImpl(Stream stream) |
|
|
|
|
|
{ |
|
|
|
|
|
try |
|
|
|
|
|
{ |
|
|
|
|
|
return new IconImpl(new System.Drawing.Icon(stream)); |
|
|
|
|
|
} |
|
|
|
|
|
catch (ArgumentException) |
|
|
|
|
|
{ |
|
|
|
|
|
return new IconImpl(new System.Drawing.Bitmap(stream)); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|