一. 二進制轉換成圖片間的轉換
1 2 3 4 5 | MemoryStream ms = new ?MemoryStream(bytes); ms.Position = 0; Image img = Image.FromStream(ms); ms.Close(); this .pictureBox1.Image |
二. C#中byte[]與string的轉換代碼
1.
1 2 3 | System.Text.UnicodeEncoding converter = new ?System.Text.UnicodeEncoding(); byte [] inputBytes =converter.GetBytes(inputString); string ?inputString = converter.GetString(inputBytes); |
2.
1 2 3 | string ?inputString = System.Convert.ToBase64String(inputBytes); byte [] inputBytes = System.Convert.FromBase64String(inputString); FileStream fileStream = new ?FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read); |
三. C# Stream 和 byte[] 之間的轉換
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | /// 將 Stream 轉成 byte[] ? ?public ?byte [] StreamToBytes(Stream stream) { ???? byte [] bytes = new ?byte [stream.Length]; ???? stream.Read(bytes, 0, bytes.Length); ???? // 設置當前流的位置為流的開始 ???? stream.Seek(0, SeekOrigin.Begin); ???? return ?bytes; } ? ?/// 將 byte[] 轉成 Stream ? ?public ?Stream BytesToStream( byte [] bytes) { ???? Stream stream = new ?MemoryStream(bytes); ???? return ?stream; } |
四. Stream 和 文件之間的轉換
將 Stream 寫入文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public ?void ?StreamToFile(Stream stream, string ?fileName) { ???? // 把 Stream 轉換成 byte[] ???? byte [] bytes = new ?byte [stream.Length]; ???? stream.Read(bytes, 0, bytes.Length); ???? // 設置當前流的位置為流的開始 ???? stream.Seek(0, SeekOrigin.Begin); ???? // 把 byte[] 寫入文件 ???? FileStream fs = new ?FileStream(fileName, FileMode.Create); ???? BinaryWriter bw = new ?BinaryWriter(fs); ???? bw.Write(bytes); ???? bw.Close(); ???? fs.Close(); } |
五. 從文件讀取 Stream
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public ?Stream FileToStream( string ?fileName) {???????????? ???? // 打開文件 ???? FileStream fileStream = new ?FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read); ???? // 讀取文件的 byte[] ???? byte [] bytes = new ?byte [fileStream.Length]; ???? fileStream.Read(bytes, 0, bytes.Length); ???? fileStream.Close(); ???? // 把 byte[] 轉換成 Stream ???? Stream stream = new ?MemoryStream(bytes); ???? return ?stream; ? ?? ?} |
六Bitmap 轉化為 Byte[]?
1 2 3 4 5 6 | //Bitmap 轉化為 Byte[] ???????????????? Bitmap BitReturn = new ?Bitmap(); ???????????????? byte [] bReturn = null ; ???????????????? MemoryStream ms = new ?MemoryStream(); ???????????????? BitReturn.Save(ms, System.Drawing.Imaging.ImageFormat.Png); ???????????????? bReturn = ms.GetBuffer(); |