转载自:https://blog.csdn.net/hyunbar/article/details/78271778
1.在C#中直接引用ThoughtWorks.QRCode.dll 类
2.封装方法返回Bitmap
public Bitmap QRCodeBimapForString(string nr) { string enCodeString = nr; QRCodeEncoder qrCodeEncoder = new QRCodeEncoder(); //编码方式(注意:BYTE能支持中文,ALPHA_NUMERIC扫描出来的都是数字) qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE; qrCodeEncoder.QRCodeScale = 4;//大小(值越大生成的二维码图片像素越高) //版本(注意:设置为0主要是防止编码的字符串太长时发生错误) qrCodeEncoder.QRCodeVersion = 7; //错误效验、错误更正(有4个等级) qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M; return qrCodeEncoder.Encode(enCodeString, Encoding.GetEncoding("GB2312")); }
3.保存到本地
public Image QRCodeSave(string nr) { Bitmap bt = QRCodeBimapForString(nr); Image img = bt; string filePath = "../../image/"; string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".png"; if (!Directory.Exists(filePath)) { Directory.CreateDirectory(filePath); } string path = Path.Combine(filePath, fileName); bt.Save(path); //如果要显示图片就要有返回值 return img ; }
4.调用QRCodeSave()
private void button1_Click(object sender, EventArgs e) { QRCode qrCode = new QRCode(); //我自己的博客“http://blog.csdn.net/hyunbar” Image img = qrCode.QRCodeSave("http://blog.csdn.net/hyunbar"); if (img != null) { this.pictureBox1.Image = img; } }
原文:https://www.cnblogs.com/-zrj/p/9468868.html