日期:2014-05-18 浏览次数:21171 次
In the transition from Winform era to the Wpf era. Different type of image classes are used for icons, buttons images and etc....
?
The pre-world uses the Icon class (System.Drawing), while the newer wpf will uses ImageSource, more specifically, ImageSource's concrete derived classes such as BigmapFrame or BitmapImage (System.Windows.Media.Imaging);
?
?
Below shows the code that helps you to convert from BitmapFrame to Icon
?
?
private static Icon ConvertFromBitmapFrame(BitmapFrame bitmapFrame) { Debug.Assert(bitmapFrame != null); var ms = new MemoryStream(); var encoder = new PngBitmapEncoder(); encoder.Frames.Add(bitmapFrame); encoder.Save(ms); ms.Seek(0, SeekOrigin.Begin); var bmp = new Bitmap(ms); return Icon.FromHandle(bmp.GetHicon()); }
?
?
and below shows code to convert from Icon to ImageSource.?
?
?
private BitmapFrame ConvertFromIcon(Icon icon) { var memoryStream = new MemoryStream(); icon.Save(memoryStream); memoryStream.Seek(0, SeekOrigin.Begin); return BitmapFrame.Create(memoryStream); }?
?
?