byte[]转BitmapImage,此处using自动释放资源有坑,会影响BitmapImage图片的显示,必须将CacheOption 设置为 BitmapCacheOption.OnLoad才能正常显示出图片,之前在项目里我遇到过这个问题,影响不小。。。
public static BitmapImage ByteToImage(this byte[] imageData) { BitmapImage biImg = new BitmapImage(); try { using(MemoryStream ms = new MemoryStream(imageData)) { biImg.BeginInit(); biImg.StreamSource = ms; biImg.CacheOption = BitmapCacheOption.OnLoad; biImg.EndInit(); biImg.Freeze(); } } catch (Exception ex) { Debug.Print($"转换图片失败:: {ex.Message}"); } return biImg; }