最近一个项目解决尾声,想对部分内容进行汇总,也许以后用得到~~不多说,直接上代码
第一种
var code = ""; //二维码内容
var save = ""; //保存地址
WebRequest wreq = WebRequest.Create(
string.Format("http://qr.topscan.com/api.php?text={0}", code));
using (HttpWebResponse wresp = (HttpWebResponse)wreq.GetResponse())
{
using (Stream s = wresp.GetResponseStream())
{
using (System.Drawing.Image img = System.Drawing.Image.FromStream(s))
{
img.Save(save, ImageFormat.Png);
}
}
}
wreq = null;
将其中的地址http://qr.topscan.com/api.php?text={0}输入浏览器可以看到以下内容
PS:此种方法生成的二维码大小是300X300
第二种
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;//编码方式(注意:BYTE能支持中文,ALPHA_NUMERIC扫描出来的都是数字)
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;//错误效验、错误更正(有4个等级)
qrCodeEncoder.QRCodeScale = 5;//每个格子大小(值越大生成的二维码图片像素越高)
qrCodeEncoder.QRCodeVersion = 0;//版本(注意:设置为0主要是防止编码的字符串太长时发生错误)
using (System.Drawing.Image image = qrCodeEncoder.Encode(code))//code是二维码内容
{
image.Save(save, ImageFormat.Png);//保存图片
}
使用个第二种方法需要引用第三方dll库ThoughtWorks.QRCode,其地址为--链接:https://pan.baidu.com/s/1Ix48RGM_WCFx2sw932u3mw 密码:ajug
PS:此种方法生成的二维码大小是186X186