LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

C#中图片与BASE64码互相转换

admin
2023年8月22日 15:47 本文热度 1265

//图片转为base64编码的文本

private void button1_Click(object sender, EventArgs e)

{

OpenFileDialog dlg = new OpenFileDialog();

dlg.Multiselect = true;

dlg.Title = "选择要转换的图片";

dlg.Filter = "Image files (*.jpg;*.bmp;*.gif;*.png)|*.jpg*.jpeg;*.gif;*.bmp|AllFiles (*.*)|*.*";

if (DialogResult.OK == dlg.ShowDialog())

{

for (int i = 0; i < dlg.FileNames.Length; i++)

{

ImgToBase64String(dlg.FileNames[i].ToString());

}

}

}


//图片转为base64编码的文本

private void ImgToBase64String(string Imagefilename)

{

try

{

Bitmap bmp = new Bitmap(Imagefilename);

this.pictureBox1.Image = bmp;

FileStream fs = new FileStream(Imagefilename + ".txt", FileMode.create);

StreamWriter sw = new StreamWriter(fs);

MemoryStream ms = new MemoryStream();

bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);

byte[] arr = new byte[ms.Length];

ms.Position = 0;

ms.Read(arr, 0, (int)ms.Length);

ms.Close();

String strbaser64 = Convert.ToBase64String(arr);

sw.Write(strbaser64);

sw.Close();

fs.Close();

   // MessageBox.Show("转换成功!");

}

catch (Exception ex)

{

MessageBox.Show("ImgToBase64String 转换失败\nException:" + ex.Message);

}

}


//base64编码的文本转为图片

private void button2_Click(object sender, EventArgs e)

{

OpenFileDialog dlg = new OpenFileDialog();

dlg.Multiselect = true;

dlg.Title = "选择要转换的base64编码的文本";

dlg.Filter = "txt files|*.txt";

if (DialogResult.OK == dlg.ShowDialog())

{

for (int i = 0; i < dlg.FileNames.Length; i++)

{

Base64StringToImage(dlg.FileNames[i].ToString());

}

}

}


//base64编码的文本转为图片

private void Base64StringToImage(string txtFileName)

{

try

{

FileStream ifs = new FileStream(txtFileName, FileMode.Open, FileAccess.Read);

StreamReader sr = new StreamReader(ifs);


String inputStr = sr.ReadToEnd();

byte[] arr = Convert.fromBase64String(inputStr);

MemoryStream ms = new MemoryStream(arr);

Bitmap bmp = new Bitmap(ms);

//bmp.Save(txtFileName + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);

//bmp.Save(txtFileName + ".bmp", ImageFormat.Bmp);

//bmp.Save(txtFileName + ".gif", ImageFormat.Gif);

//bmp.Save(txtFileName + ".png", ImageFormat.Png);

ms.Close();

sr.Close();

ifs.Close();

this.pictureBox2.Image = bmp;

if (File.Exists(txtFileName))

{

File.delete(txtFileName);

}

//MessageBox.Show("转换成功!");

}

catch (Exception ex)

{

MessageBox.Show("Base64StringToImage 转换失败\nException:" + ex.Message);

}

}


该文章在 2023/8/22 15:47:08 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved