4 Star 24 Fork 8

中国好程序员 / 二维码识别生成工具-ThoughtWorks.QRCode标准库

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

二维码识别生成类库ThoughtWorks.QRCode标准版

ThoughtWorks.QRCode很好用,但是该类库不支持标准库

于是我通过反编译dll,做了个标准版,并依赖引用了System.Drawing.Common

另外我发现当解析数据过长,或者QRCodeVersion>=30时,会抛出异常,

这个我做了修复,使用自动QRCodeVersion,也就是这个属性无需赋值,参考使用示例

作者haoersheng没有留联系方式,如有侵权请联系我删除!!!

使用示例

using System.Drawing;
using ThoughtWorks.QRCode.Codec;
using ThoughtWorks.QRCode.Codec.Data;

namespace CommonUtils
{
    /// <summary>
    /// 二维码工具
    /// </summary>
    public static class QrCodeUtil
    {
        /// <summary>
        /// 返回二维码图片
        /// </summary>
        public static Bitmap Encode(string text)
        {
            var qrCodeEncoder = new QRCodeEncoder();
            //qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
            //qrCodeEncoder.QRCodeScale = 4;
            //qrCodeEncoder.QRCodeVersion = 29;
            //qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
            return qrCodeEncoder.Encode(text);
        }

        /// <summary>
        /// 定义参数,生成二维码
        /// </summary>
        public static void Create(string text, string path)
        => Encode(text).Save(path);

        /// <summary>
        /// 返回二维码定义的字符串
        /// </summary>
        public static string Decode(Bitmap image)
        {
            var qrCodeBitmapImage = new QRCodeBitmapImage(image);
            var qrCodeDecoder = new QRCodeDecoder();
            return qrCodeDecoder.decode(qrCodeBitmapImage);
        }

        /// <summary>
        /// 返回二维码定义的字符串
        /// </summary>
        public static string Decode(string path)
        => Decode(new Bitmap(path));
    }
}
            var path = "D:/" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".png";
            var qr = QrCodeUtil.Encode("Hello World!");
            qr.Save(path);
            Console.WriteLine(QrCodeUtil.Decode(qr));

            path = "D:/" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".png";
            QrCodeUtil.Create("中国智造,惠及全球!", path);
            Console.WriteLine(QrCodeUtil.Decode(path));

            Console.WriteLine("Press enter to exit...");
            Console.ReadLine();

源码

https://gitee.com/atalent/ThoughtWorks.QRCode

浏览

https://www.nuget.org/packages/ThoughtWorks.QRCode.Standard

空文件

简介

ThoughtWorks.QRCode.Core 展开 收起
C#
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C#
1
https://gitee.com/atalent/ThoughtWorks.QRCode.git
git@gitee.com:atalent/ThoughtWorks.QRCode.git
atalent
ThoughtWorks.QRCode
二维码识别生成工具-ThoughtWorks.QRCode标准库
master

搜索帮助