lb.Image = GetDimensionalCode(datainfo.value);
/// <summary>
/// 生成二维码
/// </summary>
/// <param name="link"></param>
/// <returns></returns>
private Bitmap GetDimensionalCode(string link)
{
Bitmap bmp = null;
try
{
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
qrCodeEncoder.QRCodeScale = 16;
//int version = Convert.ToInt16(cboVersion.Text);
qrCodeEncoder.QRCodeVersion = 0;
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.L;
bmp = qrCodeEncoder.Encode(link,Encoding .UTF8);
}
catch (Exception ex)
{
//MessageBox.Show("Invalid version !");
}
Bitmap imgBit = new Bitmap(bmp, 155, 155);//旧
//Bitmap imgBit = new Bitmap(bmp, 200, 200);
return imgBit;
}
这是一段生成二维码图片的代码 现在楼主想传过一段BASE64加密的字符串转化成图片 怎么写这个方法然后把图片返回给lb.Image 下面是在网上找到的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);
}
}
15 个解决方案
#1
楼主小白 有没有大神能帮忙一下 万分感谢
#2
没太明白你想要什么,我猜你是想要将二维码图片转成Base64string,然后可以再转回来吧。你是要一个将图片转成字符串的函数吧。下面的代码可以将你的二维码图片转成Base64String
System.Drawing.Bitmap bitmap = GetDimensionalCode(link);
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] imageBytes = ms.ToArray();
string base64String = Convert.ToBase64String(imageBytes);
}
#3
不是这个意思 我的意思是我现在有一段字符串 然后把这个字符串通过BASE64转化成图片 然后传给lb.Image; 把下面的这个方法怎么修改能返回一个图片;
#4
如果不纠缠什么 base64,就是一个字符串,你所谓的“字符串转化为图片”是什么意思啊?
#5
领导跟我说这串字符串是通过BASE64解密会转化为一张图片 字符串是这样的“iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAYAAAA9zQYyAAAEF0lEQVR42u3dQW4DIRAEQP//08kb\r\nLENPA9VSTpacNdQeZoeFz5/IRfkYAgFaBGgRoEWAFqBFgBYBWgRoEaAFaBGgRYAWAVoEaAH6my/4\r\nfKJ/317P8gH78vp+/Xz39502v0ADDTTQQAMNNNA3gt4NaDWwX0H9OmFt19M2v0ADDTTQQAMNNNAv\r\ngl494asneHURuLvoSn9/2/wCDTTQQAMNNNBAA71/QFc3JqavJ93YABpooIEGGmiggQb6/qIwDbR9\r\ncVH7+AANNNBAAw000EAD/akf8NWNiGmg6UZVen6BBhpooIEGGmigXwDd/uDf52c1doD2OdBA+xxo\r\noIG+EfTp2f0S63SRl27UjM8n0EADDTTQQAMN9AGg00Vfe1E53Zg5vQgHGmiggQYaaKCBBnr+Qfvp\r\nReiv4726CF39e4EGGmiggQYaaKBfBN1WxKRf6kxv3pguAlfP727wQAMNNNBAAw000Cfuy9G+eKdt\r\nI5fVvy9dRE4XgUADDTTQQAMNNNA3gE4XYekJaduAfbrx0tYoAxpooIEGGmiggb4B9O4BTz/4nz4M\r\n/raDRYEGGmiggQYaaKBfBH1a0TR9A+/+f+mivK0RAzTQQAMNNNBAA/3Ceuj0g//0gN8GJn39QAMN\r\nNNBAAw000C+Anv68fYH8bpDTi5OuKwqBBhpooIEGGmigD2ys7G7MpBsx7RvHtN2gQAMNNNBAAw00\r\n0C+Arn/wftlmhbcdagQ00EADDTTQQAP9Auj0AvL2l2ini8jVoNONG6CBBhpooIEGGugXQK8Gf/pm\r\njKcdXp8ez+ufcgANNNBAAw000EAPPNhPF2nTRV/beD6/OAlooIEGGmiggQa6oLGSbhyki9z2Gz49\r\nP9OHCgENNNBAAw000EB7Dv0Xn8D2Rk1bo2j3DQ800EADDTTQQAN9I+jdD+7bis40kPR4p4tMoIEG\r\nGmiggQYa6BdBtxUJ7WBeO7w+3QgDGmiggQYaaKCBfhH09gfvZYe3pxtX04vDnisKgQYaaKCBBhpo\r\noAfAtd9g6cbNaTdM3A/QQAMNNNBAAw30g6CnGzdti4/ShxqlN6M8rrECNNBAAw000EADHVjgv/0H\r\nnLYAffh6b9ucEWiggQYaaKCBBvpE0NNFRftLqO0bmLcdogQ00EADDTTQQANtf+j9jZXpRkq6MdK2\r\nYfzuzRyBBhpooIEGGmigXwTd9pLm6UXedNE23cgBGmiggQYaaKCBBrr/4M3TNkdsu2Hivx9ooIEG\r\nGmiggQYa6OMPW28reqdvMKCBBhpooIEGGmig+zeamS7ipjckTxdxNmsEGmiggQYaaKCB/otP2GlF\r\nXtv/3w1y93gBDTTQQAMNNNBAvwBapClAC9AiQIsALQK0AC0CtAjQIkCLAC1AiwAtArQI0CJAy1P5\r\nBxzYf+05wSdMAAAAAElFTkSuQmCC”
#6
你自己贴出来的代码不是有吗?稍加修改就可以了
private void Base64StringToImage(string base64String)
{
try
{
//FileStream ifs = new FileStream(txtFileName, FileMode.Open, FileAccess.Read); //去掉
// StreamReader sr = new StreamReader(ifs); // 去掉
//String inputStr = sr.ReadToEnd(); //去掉
byte[] arr = Convert.FromBase64String(base64String); //这里就是你的base64String
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);
}
}
#7
private void Base64StringToImage(string base64String)
{
try
{
// FileStream ifs = new FileStream(txtFileName, FileMode.Open, FileAccess.Read);
// StreamReader sr = new StreamReader(ifs);
// String inputStr = sr.ReadToEnd();
byte[] arr = Convert.FromBase64String(base64String); //这里就是你的base64String
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);
}
}
{
try
{
// FileStream ifs = new FileStream(txtFileName, FileMode.Open, FileAccess.Read);
// StreamReader sr = new StreamReader(ifs);
// String inputStr = sr.ReadToEnd();
byte[] arr = Convert.FromBase64String(base64String); //这里就是你的base64String
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);
}
}
#8
我的意思是我现在有base64加密后的字符串 然后转化成二维码 扫描二维码扫出来之后是一张图片
#9
我的意思是我现在手里有一段通过BASE64加密图片过的字符串 然后把字符串转化成二维码 扫描二维码能把图片扫出来
#10
那就是你误导了自己业务到了别人。
领导告诉你的是,这个字符串代表的是一个 byte[ ] 数据。
最关键的一点是能够“落地”的那个概念。如果这个概念你说不出来,前边的虚幻的词儿就不能落地。
#11
private void Base64StringToImage(string base64String)
{
try
{
// FileStream ifs = new FileStream(txtFileName, FileMode.Open, FileAccess.Read);
// StreamReader sr = new StreamReader(ifs);
// String inputStr = sr.ReadToEnd();
byte[] arr = Convert.FromBase64String(base64String); //这里就是你的base64String
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);
}
}
大哥 如果您会弄的话帮我弄一下吧 万分感谢 要带返回值的 返回二维码图片
#12
如果不纠缠什么 base64,就是一个字符串,你所谓的“字符串转化为图片”是什么意思啊?
领导跟我说这串字符串是通过BASE64解密会转化为一张图片 字符串是这样的“iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAYAAAA9zQYyAAAEF0lEQVR42u3dQW4DIRAEQP//08kb\r\nLENPA9VSTpacNdQeZoeFz5/IRfkYAgFaBGgRoEWAFqBFgBYBWgRoEaAFaBGgRYAWAVoEaAH6my/4\r\nfKJ/317P8gH78vp+/Xz39502v0ADDTTQQAMNNNA3gt4NaDWwX0H9OmFt19M2v0ADDTTQQAMNNNAv\r\ngl494asneHURuLvoSn9/2/wCDTTQQAMNNNBAA71/QFc3JqavJ93YABpooIEGGmiggQb6/qIwDbR9\r\ncVH7+AANNNBAAw000EAD/akf8NWNiGmg6UZVen6BBhpooIEGGmigXwDd/uDf52c1doD2OdBA+xxo\r\noIG+EfTp2f0S63SRl27UjM8n0EADDTTQQAMN9AGg00Vfe1E53Zg5vQgHGmiggQYaaKCBBnr+Qfvp\r\nReiv4726CF39e4EGGmiggQYaaKBfBN1WxKRf6kxv3pguAlfP727wQAMNNNBAAw000Cfuy9G+eKdt\r\nI5fVvy9dRE4XgUADDTTQQAMNNNA3gE4XYekJaduAfbrx0tYoAxpooIEGGmiggb4B9O4BTz/4nz4M\r\n/raDRYEGGmiggQYaaKBfBH1a0TR9A+/+f+mivK0RAzTQQAMNNNBAA/3Ceuj0g//0gN8GJn39QAMN\r\nNNBAAw000C+Anv68fYH8bpDTi5OuKwqBBhpooIEGGmigD2ys7G7MpBsx7RvHtN2gQAMNNNBAAw00\r\n0C+Arn/wftlmhbcdagQ00EADDTTQQAP9Auj0AvL2l2ini8jVoNONG6CBBhpooIEGGugXQK8Gf/pm\r\njKcdXp8ez+ufcgANNNBAAw000EAPPNhPF2nTRV/beD6/OAlooIEGGmiggQa6oLGSbhyki9z2Gz49\r\nP9OHCgENNNBAAw000EB7Dv0Xn8D2Rk1bo2j3DQ800EADDTTQQAN9I+jdD+7bis40kPR4p4tMoIEG\r\nGmiggQYa6BdBtxUJ7WBeO7w+3QgDGmiggQYaaKCBfhH09gfvZYe3pxtX04vDnisKgQYaaKCBBhpo\r\noAfAtd9g6cbNaTdM3A/QQAMNNNBAAw30g6CnGzdti4/ShxqlN6M8rrECNNBAAw000EADHVjgv/0H\r\nnLYAffh6b9ucEWiggQYaaKCBBvpE0NNFRftLqO0bmLcdogQ00EADDTTQQANtf+j9jZXpRkq6MdK2\r\nYfzuzRyBBhpooIEGGmigXwTd9pLm6UXedNE23cgBGmiggQYaaKCBBrr/4M3TNkdsu2Hivx9ooIEG\r\nGmiggQYa6OMPW28reqdvMKCBBhpooIEGGmig+zeamS7ipjckTxdxNmsEGmiggQYaaKCB/otP2GlF\r\nXtv/3w1y93gBDTTQQAMNNNBAvwBapClAC9AiQIsALQK0AC0CtAjQIkCLAC1AiwAtArQI0CJAy1P5\r\nBxzYf+05wSdMAAAAAElFTkSuQmCC”
那就是你误导了自己业务到了别人。
领导告诉你的是,这个字符串代表的是一个 byte[ ] 数据。
最关键的一点是能够“落地”的那个概念。如果这个概念你说不出来,前边的虚幻的词儿就不能落地。
我还是个菜鸟 我不知道什么是落地啊 他就这个跟我说的 您能帮我改一下代码吗?通过这个字符串生成一个二维码 扫描二维码把解密后的图片扫出来
#13
你如果得到了一个 byte[ ] 数组,那么最笨的办法,可以把它保存到文件里,然后重新使用 Image 对象加载图片文件。不通过文件流则就通过 MemoryStream 对象从内存流中加载图片内容。
这跟抄来什么“二维码生成代码”那一通误导没有关系了。而且这里就是理解到你有一个 byte[ ] 数据结构,已经是图片的二进制数据,这是关键,根据这个这就能到你贴的第二段代码中去找那3、4行恰好是对 byte[ ] 处理的代码。
唉。
这跟抄来什么“二维码生成代码”那一通误导没有关系了。而且这里就是理解到你有一个 byte[ ] 数据结构,已经是图片的二进制数据,这是关键,根据这个这就能到你贴的第二段代码中去找那3、4行恰好是对 byte[ ] 处理的代码。
唉。
#14
private void Base64StringToImage(string base64String)
{
try
{
// FileStream ifs = new FileStream(txtFileName, FileMode.Open, FileAccess.Read);
// StreamReader sr = new StreamReader(ifs);
// String inputStr = sr.ReadToEnd();
byte[] arr = Convert.FromBase64String(base64String); //这里就是你的base64String
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);
}
}
我的意思是我现在手里有一段通过BASE64加密图片过的字符串 然后把字符串转化成二维码 扫描二维码能把图片扫出来
无语了,你的需求一直都表达不清楚。你这个根本实现不了,除非相机扫码程序是你自己写的。现在的扫码就只是将二维码还原成生成二维码的字符串。要实现你的功能,得你自己写一个扫码程序放到扫码设备里面。
#15
private void Base64StringToImage(string base64String)
{
try
{
// FileStream ifs = new FileStream(txtFileName, FileMode.Open, FileAccess.Read);
// StreamReader sr = new StreamReader(ifs);
// String inputStr = sr.ReadToEnd();
byte[] arr = Convert.FromBase64String(base64String); //这里就是你的base64String
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);
}
}
我的意思是我现在手里有一段通过BASE64加密图片过的字符串 然后把字符串转化成二维码 扫描二维码能把图片扫出来
无语了,你的需求一直都表达不清楚。你这个根本实现不了,除非相机扫码程序是你自己写的。现在的扫码就只是将二维码还原成生成二维码的字符串。要实现你的功能,得你自己写一个扫码程序放到扫码设备里面。
我现在用你改的这个代码稍微改了改实现了我要的功能 我把它写到程序里试验一下
#1
楼主小白 有没有大神能帮忙一下 万分感谢
#2
没太明白你想要什么,我猜你是想要将二维码图片转成Base64string,然后可以再转回来吧。你是要一个将图片转成字符串的函数吧。下面的代码可以将你的二维码图片转成Base64String
System.Drawing.Bitmap bitmap = GetDimensionalCode(link);
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] imageBytes = ms.ToArray();
string base64String = Convert.ToBase64String(imageBytes);
}
#3
没太明白你想要什么,我猜你是想要将二维码图片转成Base64string,然后可以再转回来吧。你是要一个将图片转成字符串的函数吧。下面的代码可以将你的二维码图片转成Base64StringSystem.Drawing.Bitmap bitmap = GetDimensionalCode(link);
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] imageBytes = ms.ToArray();
string base64String = Convert.ToBase64String(imageBytes);
}
不是这个意思 我的意思是我现在有一段字符串 然后把这个字符串通过BASE64转化成图片 然后传给lb.Image; 把下面的这个方法怎么修改能返回一个图片;
#4
如果不纠缠什么 base64,就是一个字符串,你所谓的“字符串转化为图片”是什么意思啊?
#5
如果不纠缠什么 base64,就是一个字符串,你所谓的“字符串转化为图片”是什么意思啊?
领导跟我说这串字符串是通过BASE64解密会转化为一张图片 字符串是这样的“iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAYAAAA9zQYyAAAEF0lEQVR42u3dQW4DIRAEQP//08kb\r\nLENPA9VSTpacNdQeZoeFz5/IRfkYAgFaBGgRoEWAFqBFgBYBWgRoEaAFaBGgRYAWAVoEaAH6my/4\r\nfKJ/317P8gH78vp+/Xz39502v0ADDTTQQAMNNNA3gt4NaDWwX0H9OmFt19M2v0ADDTTQQAMNNNAv\r\ngl494asneHURuLvoSn9/2/wCDTTQQAMNNNBAA71/QFc3JqavJ93YABpooIEGGmiggQb6/qIwDbR9\r\ncVH7+AANNNBAAw000EAD/akf8NWNiGmg6UZVen6BBhpooIEGGmigXwDd/uDf52c1doD2OdBA+xxo\r\noIG+EfTp2f0S63SRl27UjM8n0EADDTTQQAMN9AGg00Vfe1E53Zg5vQgHGmiggQYaaKCBBnr+Qfvp\r\nReiv4726CF39e4EGGmiggQYaaKBfBN1WxKRf6kxv3pguAlfP727wQAMNNNBAAw000Cfuy9G+eKdt\r\nI5fVvy9dRE4XgUADDTTQQAMNNNA3gE4XYekJaduAfbrx0tYoAxpooIEGGmiggb4B9O4BTz/4nz4M\r\n/raDRYEGGmiggQYaaKBfBH1a0TR9A+/+f+mivK0RAzTQQAMNNNBAA/3Ceuj0g//0gN8GJn39QAMN\r\nNNBAAw000C+Anv68fYH8bpDTi5OuKwqBBhpooIEGGmigD2ys7G7MpBsx7RvHtN2gQAMNNNBAAw00\r\n0C+Arn/wftlmhbcdagQ00EADDTTQQAP9Auj0AvL2l2ini8jVoNONG6CBBhpooIEGGugXQK8Gf/pm\r\njKcdXp8ez+ufcgANNNBAAw000EAPPNhPF2nTRV/beD6/OAlooIEGGmiggQa6oLGSbhyki9z2Gz49\r\nP9OHCgENNNBAAw000EB7Dv0Xn8D2Rk1bo2j3DQ800EADDTTQQAN9I+jdD+7bis40kPR4p4tMoIEG\r\nGmiggQYa6BdBtxUJ7WBeO7w+3QgDGmiggQYaaKCBfhH09gfvZYe3pxtX04vDnisKgQYaaKCBBhpo\r\noAfAtd9g6cbNaTdM3A/QQAMNNNBAAw30g6CnGzdti4/ShxqlN6M8rrECNNBAAw000EADHVjgv/0H\r\nnLYAffh6b9ucEWiggQYaaKCBBvpE0NNFRftLqO0bmLcdogQ00EADDTTQQANtf+j9jZXpRkq6MdK2\r\nYfzuzRyBBhpooIEGGmigXwTd9pLm6UXedNE23cgBGmiggQYaaKCBBrr/4M3TNkdsu2Hivx9ooIEG\r\nGmiggQYa6OMPW28reqdvMKCBBhpooIEGGmig+zeamS7ipjckTxdxNmsEGmiggQYaaKCB/otP2GlF\r\nXtv/3w1y93gBDTTQQAMNNNBAvwBapClAC9AiQIsALQK0AC0CtAjQIkCLAC1AiwAtArQI0CJAy1P5\r\nBxzYf+05wSdMAAAAAElFTkSuQmCC”
#6
没太明白你想要什么,我猜你是想要将二维码图片转成Base64string,然后可以再转回来吧。你是要一个将图片转成字符串的函数吧。下面的代码可以将你的二维码图片转成Base64StringSystem.Drawing.Bitmap bitmap = GetDimensionalCode(link);
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] imageBytes = ms.ToArray();
string base64String = Convert.ToBase64String(imageBytes);
}
你自己贴出来的代码不是有吗?稍加修改就可以了
private void Base64StringToImage(string base64String)
{
try
{
//FileStream ifs = new FileStream(txtFileName, FileMode.Open, FileAccess.Read); //去掉
// StreamReader sr = new StreamReader(ifs); // 去掉
//String inputStr = sr.ReadToEnd(); //去掉
byte[] arr = Convert.FromBase64String(base64String); //这里就是你的base64String
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);
}
}
#7
private void Base64StringToImage(string base64String)
{
try
{
// FileStream ifs = new FileStream(txtFileName, FileMode.Open, FileAccess.Read);
// StreamReader sr = new StreamReader(ifs);
// String inputStr = sr.ReadToEnd();
byte[] arr = Convert.FromBase64String(base64String); //这里就是你的base64String
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);
}
}
{
try
{
// FileStream ifs = new FileStream(txtFileName, FileMode.Open, FileAccess.Read);
// StreamReader sr = new StreamReader(ifs);
// String inputStr = sr.ReadToEnd();
byte[] arr = Convert.FromBase64String(base64String); //这里就是你的base64String
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);
}
}
#8
我的意思是我现在有base64加密后的字符串 然后转化成二维码 扫描二维码扫出来之后是一张图片
#9
private void Base64StringToImage(string base64String)
{
try
{
// FileStream ifs = new FileStream(txtFileName, FileMode.Open, FileAccess.Read);
// StreamReader sr = new StreamReader(ifs);
// String inputStr = sr.ReadToEnd();
byte[] arr = Convert.FromBase64String(base64String); //这里就是你的base64String
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);
}
}
我的意思是我现在手里有一段通过BASE64加密图片过的字符串 然后把字符串转化成二维码 扫描二维码能把图片扫出来
#10
如果不纠缠什么 base64,就是一个字符串,你所谓的“字符串转化为图片”是什么意思啊?
领导跟我说这串字符串是通过BASE64解密会转化为一张图片 字符串是这样的“iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAYAAAA9zQYyAAAEF0lEQVR42u3dQW4DIRAEQP//08kb\r\nLENPA9VSTpacNdQeZoeFz5/IRfkYAgFaBGgRoEWAFqBFgBYBWgRoEaAFaBGgRYAWAVoEaAH6my/4\r\nfKJ/317P8gH78vp+/Xz39502v0ADDTTQQAMNNNA3gt4NaDWwX0H9OmFt19M2v0ADDTTQQAMNNNAv\r\ngl494asneHURuLvoSn9/2/wCDTTQQAMNNNBAA71/QFc3JqavJ93YABpooIEGGmiggQb6/qIwDbR9\r\ncVH7+AANNNBAAw000EAD/akf8NWNiGmg6UZVen6BBhpooIEGGmigXwDd/uDf52c1doD2OdBA+xxo\r\noIG+EfTp2f0S63SRl27UjM8n0EADDTTQQAMN9AGg00Vfe1E53Zg5vQgHGmiggQYaaKCBBnr+Qfvp\r\nReiv4726CF39e4EGGmiggQYaaKBfBN1WxKRf6kxv3pguAlfP727wQAMNNNBAAw000Cfuy9G+eKdt\r\nI5fVvy9dRE4XgUADDTTQQAMNNNA3gE4XYekJaduAfbrx0tYoAxpooIEGGmiggb4B9O4BTz/4nz4M\r\n/raDRYEGGmiggQYaaKBfBH1a0TR9A+/+f+mivK0RAzTQQAMNNNBAA/3Ceuj0g//0gN8GJn39QAMN\r\nNNBAAw000C+Anv68fYH8bpDTi5OuKwqBBhpooIEGGmigD2ys7G7MpBsx7RvHtN2gQAMNNNBAAw00\r\n0C+Arn/wftlmhbcdagQ00EADDTTQQAP9Auj0AvL2l2ini8jVoNONG6CBBhpooIEGGugXQK8Gf/pm\r\njKcdXp8ez+ufcgANNNBAAw000EAPPNhPF2nTRV/beD6/OAlooIEGGmiggQa6oLGSbhyki9z2Gz49\r\nP9OHCgENNNBAAw000EB7Dv0Xn8D2Rk1bo2j3DQ800EADDTTQQAN9I+jdD+7bis40kPR4p4tMoIEG\r\nGmiggQYa6BdBtxUJ7WBeO7w+3QgDGmiggQYaaKCBfhH09gfvZYe3pxtX04vDnisKgQYaaKCBBhpo\r\noAfAtd9g6cbNaTdM3A/QQAMNNNBAAw30g6CnGzdti4/ShxqlN6M8rrECNNBAAw000EADHVjgv/0H\r\nnLYAffh6b9ucEWiggQYaaKCBBvpE0NNFRftLqO0bmLcdogQ00EADDTTQQANtf+j9jZXpRkq6MdK2\r\nYfzuzRyBBhpooIEGGmigXwTd9pLm6UXedNE23cgBGmiggQYaaKCBBrr/4M3TNkdsu2Hivx9ooIEG\r\nGmiggQYa6OMPW28reqdvMKCBBhpooIEGGmig+zeamS7ipjckTxdxNmsEGmiggQYaaKCB/otP2GlF\r\nXtv/3w1y93gBDTTQQAMNNNBAvwBapClAC9AiQIsALQK0AC0CtAjQIkCLAC1AiwAtArQI0CJAy1P5\r\nBxzYf+05wSdMAAAAAElFTkSuQmCC”
那就是你误导了自己业务到了别人。
领导告诉你的是,这个字符串代表的是一个 byte[ ] 数据。
最关键的一点是能够“落地”的那个概念。如果这个概念你说不出来,前边的虚幻的词儿就不能落地。
#11
private void Base64StringToImage(string base64String)
{
try
{
// FileStream ifs = new FileStream(txtFileName, FileMode.Open, FileAccess.Read);
// StreamReader sr = new StreamReader(ifs);
// String inputStr = sr.ReadToEnd();
byte[] arr = Convert.FromBase64String(base64String); //这里就是你的base64String
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);
}
}
大哥 如果您会弄的话帮我弄一下吧 万分感谢 要带返回值的 返回二维码图片
#12
如果不纠缠什么 base64,就是一个字符串,你所谓的“字符串转化为图片”是什么意思啊?
领导跟我说这串字符串是通过BASE64解密会转化为一张图片 字符串是这样的“iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAYAAAA9zQYyAAAEF0lEQVR42u3dQW4DIRAEQP//08kb\r\nLENPA9VSTpacNdQeZoeFz5/IRfkYAgFaBGgRoEWAFqBFgBYBWgRoEaAFaBGgRYAWAVoEaAH6my/4\r\nfKJ/317P8gH78vp+/Xz39502v0ADDTTQQAMNNNA3gt4NaDWwX0H9OmFt19M2v0ADDTTQQAMNNNAv\r\ngl494asneHURuLvoSn9/2/wCDTTQQAMNNNBAA71/QFc3JqavJ93YABpooIEGGmiggQb6/qIwDbR9\r\ncVH7+AANNNBAAw000EAD/akf8NWNiGmg6UZVen6BBhpooIEGGmigXwDd/uDf52c1doD2OdBA+xxo\r\noIG+EfTp2f0S63SRl27UjM8n0EADDTTQQAMN9AGg00Vfe1E53Zg5vQgHGmiggQYaaKCBBnr+Qfvp\r\nReiv4726CF39e4EGGmiggQYaaKBfBN1WxKRf6kxv3pguAlfP727wQAMNNNBAAw000Cfuy9G+eKdt\r\nI5fVvy9dRE4XgUADDTTQQAMNNNA3gE4XYekJaduAfbrx0tYoAxpooIEGGmiggb4B9O4BTz/4nz4M\r\n/raDRYEGGmiggQYaaKBfBH1a0TR9A+/+f+mivK0RAzTQQAMNNNBAA/3Ceuj0g//0gN8GJn39QAMN\r\nNNBAAw000C+Anv68fYH8bpDTi5OuKwqBBhpooIEGGmigD2ys7G7MpBsx7RvHtN2gQAMNNNBAAw00\r\n0C+Arn/wftlmhbcdagQ00EADDTTQQAP9Auj0AvL2l2ini8jVoNONG6CBBhpooIEGGugXQK8Gf/pm\r\njKcdXp8ez+ufcgANNNBAAw000EAPPNhPF2nTRV/beD6/OAlooIEGGmiggQa6oLGSbhyki9z2Gz49\r\nP9OHCgENNNBAAw000EB7Dv0Xn8D2Rk1bo2j3DQ800EADDTTQQAN9I+jdD+7bis40kPR4p4tMoIEG\r\nGmiggQYa6BdBtxUJ7WBeO7w+3QgDGmiggQYaaKCBfhH09gfvZYe3pxtX04vDnisKgQYaaKCBBhpo\r\noAfAtd9g6cbNaTdM3A/QQAMNNNBAAw30g6CnGzdti4/ShxqlN6M8rrECNNBAAw000EADHVjgv/0H\r\nnLYAffh6b9ucEWiggQYaaKCBBvpE0NNFRftLqO0bmLcdogQ00EADDTTQQANtf+j9jZXpRkq6MdK2\r\nYfzuzRyBBhpooIEGGmigXwTd9pLm6UXedNE23cgBGmiggQYaaKCBBrr/4M3TNkdsu2Hivx9ooIEG\r\nGmiggQYa6OMPW28reqdvMKCBBhpooIEGGmig+zeamS7ipjckTxdxNmsEGmiggQYaaKCB/otP2GlF\r\nXtv/3w1y93gBDTTQQAMNNNBAvwBapClAC9AiQIsALQK0AC0CtAjQIkCLAC1AiwAtArQI0CJAy1P5\r\nBxzYf+05wSdMAAAAAElFTkSuQmCC”
那就是你误导了自己业务到了别人。
领导告诉你的是,这个字符串代表的是一个 byte[ ] 数据。
最关键的一点是能够“落地”的那个概念。如果这个概念你说不出来,前边的虚幻的词儿就不能落地。
我还是个菜鸟 我不知道什么是落地啊 他就这个跟我说的 您能帮我改一下代码吗?通过这个字符串生成一个二维码 扫描二维码把解密后的图片扫出来
#13
你如果得到了一个 byte[ ] 数组,那么最笨的办法,可以把它保存到文件里,然后重新使用 Image 对象加载图片文件。不通过文件流则就通过 MemoryStream 对象从内存流中加载图片内容。
这跟抄来什么“二维码生成代码”那一通误导没有关系了。而且这里就是理解到你有一个 byte[ ] 数据结构,已经是图片的二进制数据,这是关键,根据这个这就能到你贴的第二段代码中去找那3、4行恰好是对 byte[ ] 处理的代码。
唉。
这跟抄来什么“二维码生成代码”那一通误导没有关系了。而且这里就是理解到你有一个 byte[ ] 数据结构,已经是图片的二进制数据,这是关键,根据这个这就能到你贴的第二段代码中去找那3、4行恰好是对 byte[ ] 处理的代码。
唉。
#14
private void Base64StringToImage(string base64String)
{
try
{
// FileStream ifs = new FileStream(txtFileName, FileMode.Open, FileAccess.Read);
// StreamReader sr = new StreamReader(ifs);
// String inputStr = sr.ReadToEnd();
byte[] arr = Convert.FromBase64String(base64String); //这里就是你的base64String
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);
}
}
我的意思是我现在手里有一段通过BASE64加密图片过的字符串 然后把字符串转化成二维码 扫描二维码能把图片扫出来
无语了,你的需求一直都表达不清楚。你这个根本实现不了,除非相机扫码程序是你自己写的。现在的扫码就只是将二维码还原成生成二维码的字符串。要实现你的功能,得你自己写一个扫码程序放到扫码设备里面。
#15
private void Base64StringToImage(string base64String)
{
try
{
// FileStream ifs = new FileStream(txtFileName, FileMode.Open, FileAccess.Read);
// StreamReader sr = new StreamReader(ifs);
// String inputStr = sr.ReadToEnd();
byte[] arr = Convert.FromBase64String(base64String); //这里就是你的base64String
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);
}
}
我的意思是我现在手里有一段通过BASE64加密图片过的字符串 然后把字符串转化成二维码 扫描二维码能把图片扫出来
无语了,你的需求一直都表达不清楚。你这个根本实现不了,除非相机扫码程序是你自己写的。现在的扫码就只是将二维码还原成生成二维码的字符串。要实现你的功能,得你自己写一个扫码程序放到扫码设备里面。
我现在用你改的这个代码稍微改了改实现了我要的功能 我把它写到程序里试验一下