using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Media.Imaging; public static class ByteArrayExtensions { /// /// Creates a new BitmapImage from the byte array. /// /// The image data. /// private static BitmapImage ToBitmapImage(this byte[] data) { if (data == null || data.Length == 0) return null; var image = new BitmapImage(); using (var mem = new MemoryStream(data)) { mem.Position = 0; image.BeginInit(); image.CreateOptions = BitmapCreateOptions.PreservePixelFormat; image.CacheOption = BitmapCacheOption.OnLoad; image.UriSource = null; image.StreamSource = mem; image.EndInit(); } image.Freeze(); return image; } }