1. 程式人生 > >Image 資料,在C#裡面的相互轉化

Image 資料,在C#裡面的相互轉化

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)
MemoryStream ms = new MemoryStream(Bytes);
Bitmap b = Bitmap.FromStream(ms,true);
2.

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[]

System.Text.UnicodeEncoding converter = new System.Text.UnicodeEncoding();
byte[] inputBytes =converter.GetBytes(inputString);
string inputString = converter.GetString(inputBytes);
4.

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;
 
 
}