C#将图片转为二进制流
效果图:
注意:将载入的图片转为Base64格式后,转换为图片需要将Base64格式转为图片就行
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog openfile = new OpenFileDialog();
openfile.Title = " 请选择客户端longin的图片";
openfile.Filter = "Login图片 (*.jpg;*.bmp;*png)|*.jpeg;*.jpg;*.bmp;*.png|AllFiles(*.*)|*.*";
if (DialogResult.OK == openfile.ShowDialog())
{
try
{
Bitmap bmp = new Bitmap(openfile.FileName);
pictureBox1.Image = bmp;
pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
//字面是对当前图片进行了二进制转换
MemoryStream ms = new MemoryStream();
bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
byte[] arr = new byte[ms.Length];
ms.Position = 0;
ms.Read(arr, 0, (int)ms.Length);
ms.Close();
//这里将arr强转Base64
string ee = Convert.ToBase64String(arr);
textBox1.Text = ee;
}
catch { }
}
}
private void button2_Click(object sender, EventArgs e)
{
try
{
var base64 = textBox1.Text;
//将base64强转图片
base64 = base64.Replace("data:image/png;base64,", "").Replace("data:image/jgp;base64,", "").Replace("data:image/jpg;base64,", "").Replace("data:image/jpeg;base64,", "");//将base64头部信息替换
byte[] bytes = Convert.FromBase64String(base64);
MemoryStream ms = new MemoryStream(bytes);
Image mImage = Image.FromStream(ms);
Bitmap bmpt = new Bitmap(ms);
pictureBox2.Image = bmpt;
pictureBox2.SizeMode = PictureBoxSizeMode.Zoom;
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
}