Image 資料,在C#裡面的相互轉化
阿新 • • 發佈:2019-01-09
1.
image(這裡是Bitmap) 轉變成 MemoryStream
Bitmap b = new Bitmap(Server.MapPath(ppath));//Server.MapPath 與*.config檔案在同一目錄下
Stream ms = new MemoryStream();
b.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
MemoryStream 轉變成 image(這裡是Bitmap)
2.MemoryStream ms = new MemoryStream(Bytes); Bitmap b = Bitmap.FromStream(ms,true);
MermoryStream 轉成 Byte[]
byte[] bytes = new byte[stream.Length];
stream.Read(bytes, 0, bytes.Length);
// 設定當前流的位置為流的開始
stream.Seek(0, SeekOrigin.Begin);
Byte[] 轉成 MermoryStream
Stream stream = new MemoryStream(bytes);
3.Byte[] 轉為 String , string 轉為 Byte[]
4.System.Text.UnicodeEncoding converter = new System.Text.UnicodeEncoding(); byte[] inputBytes =converter.GetBytes(inputString); string inputString = converter.GetString(inputBytes);
MermorySream 轉成 檔案
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(); }
檔案 轉成 MeroryStream
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;
}