C#图片二进制互相转换实现详解

需积分: 10 28 下载量 150 浏览量 更新于2024-09-11 收藏 4KB TXT 举报
"图片二进制互相转换C#" 在开发C#应用程序时,图片的存储和读取是非常重要的两个方面。通常情况下,图片可以以二进制的形式存储在数据库中,以便于后续的读取和处理。本文将介绍图片二进制互相转换的相关知识点。 存储图片 在存储图片时,需要将图片转换为二进制数据,以便于存储在数据库中。在SQL Server数据库中,图片通常存储在Image数据类型的字段中,该字段可以存储Byte[]类型的数据。 读取图片 在读取图片时,需要将Byte[]类型的数据转换回图片。这个过程可以通过将Byte[]数组转换为MemoryStream,然后使用System.Drawing.Image.FromStream()方法将其转换为图片对象。 图片二进制转换 图片二进制转换是指将图片转换为二进制数据的过程,也可以将二进制数据转换回图片。这种转换可以使用C#语言中的System.Drawing命名空间和System.IO命名空间来实现。 GetPictureData方法 GetPictureData方法用于将图片文件转换为二进制数据。该方法使用FileStream类读取图片文件,并将其转换为Byte[]数组。 ```csharp public byte[] GetPictureData(string imagepath) { FileStream fs = new FileStream(imagepath, FileMode.Open); byte[] byData = new byte[fs.Length]; fs.Read(byData, 0, byData.Length); fs.Close(); return byData; } ``` PhotoImageInsert方法 PhotoImageInsert方法用于将图片对象转换为二进制数据。该方法使用MemoryStream类将图片对象转换为Byte[]数组。 ```csharp public byte[] PhotoImageInsert(System.Drawing.Image imgPhoto) { MemoryStream mstream = new MemoryStream(); imgPhoto.Save(mstream, System.Drawing.Imaging.ImageFormat.Bmp); byte[] byData = new byte[mstream.Length]; mstream.Position = 0; mstream.Read(byData, 0, byData.Length); mstream.Close(); return byData; } ``` ReturnPhoto方法 ReturnPhoto方法用于将二进制数据转换回图片对象。该方法使用MemoryStream类将Byte[]数组转换为图片对象。 ```csharp public System.Drawing.Image ReturnPhoto(byte[] streamByte) { System.IO.MemoryStream ms = new System.IO.MemoryStream(streamByte); System.Drawing.Image img = System.Drawing.Image.FromStream(ms); return img; } ``` WritePhoto方法 WritePhoto方法用于将二进制数据写入到Response对象中,以便于在浏览器中显示图片。 ```csharp public void WritePhoto(byte[] streamByte) { Response.BinaryWrite(streamByte); } ``` 图片二进制互相转换是C#应用程序开发中一个非常重要的知识点。通过使用System.Drawing命名空间和System.IO命名空间,可以轻松地实现图片的存储和读取。