开发者社区> 问答> 正文

字节数组到图像的转换

我想将字节数组转换为图像。

这是从中获取字节数组的数据库代码:

public void Get_Finger_print() { try { using (SqlConnection thisConnection = new SqlConnection(@"Data Source=" + System.Environment.MachineName + "\SQLEXPRESS;Initial Catalog=Image_Scanning;Integrated Security=SSPI ")) { thisConnection.Open(); string query = "select pic from Image_tbl";// where Name='" + name + "'"; SqlCommand cmd = new SqlCommand(query, thisConnection); byte[] image =(byte[]) cmd.ExecuteScalar(); Image newImage = byteArrayToImage(image); Picture.Image = newImage; //return image; } } catch (Exception) { } //return null; } 我的转换代码:

public Image byteArrayToImage(byte[] byteArrayIn) { try { MemoryStream ms = new MemoryStream(byteArrayIn,0,byteArrayIn.Length); ms.Write(byteArrayIn, 0, byteArrayIn.Length); returnImage = Image.FromStream(ms,true);//Exception occurs here } catch { } return returnImage; } 当我到达带有注释的行时,发生以下异常: Parameter is not valid.

如何解决导致此异常的原因? 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-08 12:13:45 312 0
1 条回答
写回答
取消 提交回答
  • 您正在两次写入内存流,也没有在使用后处置该流。您还要求图像解码器应用嵌入的色彩校正。

    尝试以下方法:

    using (var ms = new MemoryStream(byteArrayIn)) { return Image.FromStream(ms); }

    2020-02-08 12:13:57
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载