在C#中可以使用MemoryStream类、BinaryFormatter类等来操作图片,将图片读取到二进制数据流中,最终转成二进制数据流进行调用,详细的实现如下方法所示。
private byte[] GetImageBytes(Image image) { MemoryStream ms = new MemoryStream(); BinaryFormatter bf = new BinaryFormatter(); bf.Serialize(ms, (object)image); ms.Close(); return ms.ToArray(); } //将图片转换为二进制流的调用 bt1 = GetImageBytes(rootComponent.BackgroundImage); public Image ReadImage(byte[] bytes) { MemoryStream ms = new MemoryStream(bytes, 0, bytes.Length); BinaryFormatter bf = new BinaryFormatter(); object obj = bf.Deserialize(ms); ms.Close(); return (Image)obj; } //将二进制流转换为图片 pb.Image = ReadImage((byte[])ri.Result.Rows[i]["image"]);
备注:原文转载自C#将图片转换为二进制流调用_IT技术小趣屋。