c# - 将System.Byte []转换为图像并在winform的图片框中显示

标签 c#

我有一张存储图片的表,在加载表格时我检索到该数据,并且数据在System.Byte []中。

我希望它以窗口形式显示在图片框中。
 我正在使用C#语言和SQL SERVER 2005

我的代码是这样的:

            Byte[] byteBLOBData = (Byte[])(dt.Rows[count]["stud_photo"]);
           MemoryStream ms = new MemoryStream(byteBLOBData);
           ms.Write(byteBLOBData, 0, byteBLOBData.Length);

           photo.Image = Image.FromStream(ms); --- here i am having an error "Parameter not valid"


请任何人能帮助我...这对我的项目非常重要。先感谢您

最佳答案

将流位置重新设置为开始:

ms.Write(byteBLOBData, 0, byteBLOBData.Length);
ms.Position = 0; // THIS !!!!!
photo.Image = Image.FromStream(ms); 


问题在于流的位置在末尾,因此当Image尝试读取它时,它将读取零字节。

关于c# - 将System.Byte []转换为图像并在winform的图片框中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5431215/

相关文章:

c# - 使用 HttpListener 自定义 404

c# - 使用 WKHTMLTOPDF 以 HTML 格式显示图像,但不以 PDF 格式显示图像

c# - InvalidOperationException 与 ArgumentException

c# - 使用 SoundPlayer() 播放多个 wav 文件而不重叠声音

C# - HttpWebRequest POST(登录 Facebook)

c# - 从结构数组中删除 double

c# - #if/#endif 与 if 有何不同?

c# - showdialog 重新聚焦效果自定义调用

c# - 通用存储库模式有重复的代码,那么有什么好处呢?

c# - 维护类之间的双向关系