关于 QRCode 的问题[C# 生成二维码固定大小]
2014-10-11 11:30
1791 查看
一直在纠结了一天多的问题:就是为什么生成的二维码会随着内容多少的变化而变化大小,但是为什么网上做出来的二维码内容变化但是大小却没有变化?刚开始的时候我就一直围绕着是不是根据缩略图来做的,但是这个方法行不通,因为弄成缩略图的话,二维码的清晰度就降低了,变得模糊!这让我十分纠结,那这是为什么呢?
最后通过网上下载了一个源码,进过对比,不断测试,原来犯了一个很低级的错误,就是QRCodeVersion 的版本设置问题,我之前一直是用的 QRCodeVersion=0,因为我看网上都是这么用的,说是可以保证加密内容不会数组越界。后面我发现,只要不设置为0,那么二维码大小就不会根据内容的变化而变化了。
附:
QrcodeVersion的范围值是0-40,0的含义是表示压缩的信息量将会根据实际传入值确定,只有最高上限的控制,而且图片的大小将会根据信息量自动缩放。1-40的范围值,则有固定的信息量上限,而且图片的大小会固定在一个大小上,不会根据信息量的多少而变化。
最后通过网上下载了一个源码,进过对比,不断测试,原来犯了一个很低级的错误,就是QRCodeVersion 的版本设置问题,我之前一直是用的 QRCodeVersion=0,因为我看网上都是这么用的,说是可以保证加密内容不会数组越界。后面我发现,只要不设置为0,那么二维码大小就不会根据内容的变化而变化了。
QRCodeEncoder qrEncoder = new QRCodeEncoder(); qrEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE; qrEncoder.QRCodeScale = 2; //设置编码版本 qrEncoder.QRCodeVersion = 6; qrEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M; Image img = qrEncoder.Encode(cont);
附:
QrcodeVersion的范围值是0-40,0的含义是表示压缩的信息量将会根据实际传入值确定,只有最高上限的控制,而且图片的大小将会根据信息量自动缩放。1-40的范围值,则有固定的信息量上限,而且图片的大小会固定在一个大小上,不会根据信息量的多少而变化。
相关文章推荐
- 关于C#中随机数的生成问题
- [C#]二维码生成、解码(QRCode)【支持winform、web调用】
- 嵌入式 SDL把字符串生成位图,关于位图的数据大小问题
- C# 利用BarcodeLib.dll生成条形码(一维,zxing,QrCodeNet/dll二维码)
- C# Qrcode生成二维码支持中文,带图片,带文字 2015-01-22 15:11 616人阅读 评论(1) 收藏
- 【转】[C#]二维码生成、解码(QRCode)【支持winform、web调用】
- asp.net(C#)利用QRCode生成二维码(续)-在二维码图片中心加Logo或图像
- C# 利用QRCode生成二维码图片
- C# 利用QRCode生成二维码图片
- C# 二维码生成、解码(QRCode)【支持winform、web调用】
- asp.net(C#)利用QRCode生成二维码(续)-在二维码图片中心加Logo或图像
- 关于d-project(qrcode)中文生成二维码乱码
- C# 利用BarcodeLib.dll生成条形码(一维,zxing,QrCodeNet/dll二维码)
- C#.net关于生成html静态页面的问题 .
- [C#]二维码生成、解码(QRCode)【支持winform、web调用】
- [C#]二维码生成、解码(QRCode)【支持winform、web调用】
- asp.net(C#)利用QRCode生成二维码
- C# QRCode 二维码生成 or 在二维码图片中心加Logo或图像
- C# 二维码生成——QRCode
- [C#]二维码生成、解码(QRCode)【支持winform、web调用】