您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

将字节数组转换为bitmapimage

将字节数组转换为bitmapimage

在第一个代码示例中,using在实际加载图像之前关闭流(通过离开该块)。您还必须设置BitmapCacheOptions.OnLoad来立即加载图像,否则,如第二个示例中所示,流必须保持打开状态。

public BitmapImage ToImage(byte[] array)
{
    using (var ms = new System.IO.MemoryStream(array))
    {
        var image = new BitmapImage();
        image.BeginInit();
        image.CacheOption = BitmapCacheOption.OnLoad; // here
        image.StreamSource = ms;
        image.EndInit();
        return image;
    }
}

BitmapImage.StreamSource的“备注”部分:

如果要在创建BitmapImage之后关闭流,请将CacheOption属性设置为BitmapCacheOption.OnLoad。

除此之外,您还可以使用内置的类型转换来将类型转换byte[]为类型ImageSource(或派生的BitmapSource):

var bitmap = (BitmapSource)new ImageSourceConverter().ConvertFrom(array);

当您类型的属性绑定ImageSourceConverter被隐式调用ImageSource(如Image控件的Source属性),以类型的源属性stringUribyte[]

其他 2022/1/1 18:14:17 有566人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶