您的位置:首页 > 编程语言 > C#

c# 生成二维码图片

2017-10-18 13:25 323 查看
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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  二维码 图片