QRCodeEncoder qrCodeEncoder = new QRCodeEncoder(); qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE; // support different mode qrCodeEncoder.QRCodeScale = 4; qrCodeEncoder.QRCodeVersion = 0; qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M; // support different mode string qrCodeContent = "姓名:粒粒"; Bitmap img = qrCodeEncoder.Encode(qrCodeContent); String newFileName = DateTime.Now.ToString("yyyyMMddHHmmss_ffff", System.Globalization.DateTimeFormatInfo.InvariantInfo); string filePath = SettingConfig.ImgUrl + newFileName + ".png";// support different image format img.Save(filePath);
这段代码,不知道为什么总是报“索引超出了数组界限。” 是我引用的dll文件有问题的吗?还是里面那设置错了。
qrCodeEncoder.QRCodeVersion = 0这个参数设置为0的问题把,你都有5个汉子了,还设置为0
我改成20、40都不行的,还是同样的错
@..00..: 你的错误是qrCodeEncoder.Encode(qrCodeContent)报出来的吧
@稳稳的河: 是的
@..00..: 在QRCodeEncoder.cs文件中有限定长度,你去看看
@稳稳的河: 没有啊
@..00..: 哦比这个版本的没有,试试qrCodeEncoder.Encode(enCodeString, Encoding.UTF8)设置下编码格式,不然你就换个版本试试吧
@稳稳的河: 那个格式我试过了,不行的。你有没有可以用的dll发我一个,我在网上找了好多都不能用。。。
@..00..: 我找到可以用的了,非常感谢!
详情查看http://www.cnblogs.com/Mr-Ygs/p/4904710.html