//将图片转换成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;
}
|