zoukankan      html  css  js  c++  java
  • 关于 QRCode 的问题[C# 生成二维码固定大小]

      一直在纠结了一天多的问题:就是为什么生成的二维码会随着内容多少的变化而变化大小,但是为什么网上做出来的二维码内容变化但是大小却没有变化?刚开始的时候我就一直围绕着是不是根据缩略图来做的,但是这个方法行不通,因为弄成缩略图的话,二维码的清晰度就降低了,变得模糊!这让我十分纠结,那这是为什么呢?

      最后通过网上下载了一个源码,进过对比,不断测试,原来犯了一个很低级的错误,就是QRCodeVersion 的版本设置问题,我之前一直是用的 QRCodeVersion=0,因为我看网上都是这么用的,说是可以保证加密内容不会数组越界。后面我发现,只要不设置为0,那么二维码大小就不会根据内容的变化而变化了。 

    1 QRCodeEncoder qrEncoder = new QRCodeEncoder();
    2 qrEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
    3 qrEncoder.QRCodeScale = 2;
    4 //设置编码版本
    5 qrEncoder.QRCodeVersion = 6;
    6 qrEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
    7 
    8 Image img = qrEncoder.Encode(cont);

     附:

      QrcodeVersion的范围值是0-40,0的含义是表示压缩的信息量将会根据实际传入值确定,只有最高上限的控制,而且图片的大小将会根据信息量自动缩放。1-40的范围值,则有固定的信息量上限,而且图片的大小会固定在一个大小上,不会根据信息量的多少而变化。

  • 相关阅读:
    mysql常用基本命令
    mysql8.0.13下载与安装图文教程
    k8s ingress 增加跨域配置
    Jenkins 备份恢复插件 thinBackup 使用
    k8s HA master 节点宕机修复
    nginx 跨域问题解决
    mongodb 3.4.24 主从复制
    k8s 线上安装 jenkins并结合 jenkinsfile 实现 helm 自动化部署
    k8s helm 运用与自建helm仓库chartmuseum
    centos6 源码安装 unzip
  • 原文地址:https://www.cnblogs.com/yougmi/p/4018635.html
Copyright © 2011-2022 走看看