c# - 将二进制转换回图像
问题描述
我有 wcf 服务和 Windows 窗体。我能够将图像转换为二进制并将其以 varbinary(MAX) 数据类型存储到我的 sql server 中的 EmpTable 中。我使用 linq 和实体数据模型来访问我的表。现在我试图在我的表单上将 EmpTable 显示到 DataGridView,我注意到它在列上显示“System.byte []”。因此,当我尝试将其转换回图像时,它失败了。现在我对如何获取数据并将其转换回图像一无所知。我所有的 linq 命令都在我的服务中,我在我的 winforms 中使用它。我怎样才能做到这一点?
解决方案
这里函数从 转换byte[]
为BitmapImage
。
/// <summary>
/// Convert byte[] to bitmapimage
/// </summary>
/// <param name="array"></param>
/// <returns></returns>
public static BitmapImage byteArrayToImage(byte[] array)
{
if (array != null)
{
using (var ms = new MemoryStream(array))
{
var image = new BitmapImage();
image.BeginInit();
image.CacheOption = BitmapCacheOption.OnLoad;
image.StreamSource = ms;
image.EndInit();
return image;
}
}
return null;
}
推荐阅读
- list - F# 划分列表
- c# - 加载图片框后执行某些操作
- python - 在python中使用BeautifulSoup进行标记和字符串混合查找和替换
- arrays - 如何过滤包含字符串的数组和结构对象数组,其中有字符串参数?
- javascript - YouTube 订阅柜台
- python - AWS text_detection() 可以检测图像中的中文或其他语言吗?
- c - 使用并行任务减少 OpenMP
- r - 在R中对特定行子集进行采样和平均的有效方法
- node.js - 工作 SQL 使用 Node 和 pg-promise 产生类型和语法错误
- java - 使用java将文件上传到特定的谷歌驱动器帐户