//将图片转换成base64 数据
FileStream fs = File.OpenRead("C:\\20180822\\161940.jpg"); //OpenRead
int filelength = 0;
filelength = (int)fs.Length; //获得文件长度
Byte[] image = new Byte[filelength]; //建立一个字节数组
fs.Read(image, 0, filelength); //按字节流读取
//System.Drawing.Image result = System.Drawing.Image.FromStream(fs);
fs.Close();
string imgData64 = Convert.ToBase64String(image);
/// <summary> /// 将图片数据转换为Base64字符串 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ToBase64( object sender, EventArgs e) { Image img = this .pictureBox.Image; BinaryFormatter binFormatter = new BinaryFormatter(); MemoryStream memStream = new MemoryStream(); binFormatter.Serialize(memStream, img); byte [] bytes = memStream.GetBuffer(); string base64 = Convert.ToBase64String(bytes); this .richTextBox.Text = base64; } /// <summary> /// 将Base64字符串转换为图片 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ToImage( object sender, EventArgs e) { string base64 = this .richTextBox.Text; byte [] bytes = Convert.FromBase64String(base64); MemoryStream memStream = new MemoryStream(bytes); BinaryFormatter binFormatter = new BinaryFormatter(); Image img = (Image)binFormatter.Deserialize(memStream); this .pictureBox.Image = img; } |