# 二维码识别生成工具-ThoughtWorks.QRCode标准库 **Repository Path**: atalent/ThoughtWorks.QRCode ## Basic Information - **Project Name**: 二维码识别生成工具-ThoughtWorks.QRCode标准库 - **Description**: ThoughtWorks.QRCode.Core - **Primary Language**: C# - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 24 - **Forks**: 8 - **Created**: 2019-01-05 - **Last Updated**: 2024-03-15 ## Categories & Tags **Categories**: barcode **Tags**: None ## README # 二维码识别生成类库ThoughtWorks.QRCode标准版 ThoughtWorks.QRCode很好用,但是该类库不支持标准库 于是我通过反编译dll,做了个标准版,并依赖引用了System.Drawing.Common 另外我发现当解析数据过长,或者QRCodeVersion>=30时,会抛出异常, 这个我做了修复,使用自动QRCodeVersion,也就是这个属性无需赋值,参考使用示例 作者haoersheng没有留联系方式,如有侵权请联系我删除!!! 使用示例 ```c# using System.Drawing; using ThoughtWorks.QRCode.Codec; using ThoughtWorks.QRCode.Codec.Data; namespace CommonUtils { /// /// 二维码工具 /// public static class QrCodeUtil { /// /// 返回二维码图片 /// 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); } /// /// 定义参数,生成二维码 /// public static void Create(string text, string path) => Encode(text).Save(path); /// /// 返回二维码定义的字符串 /// public static string Decode(Bitmap image) { var qrCodeBitmapImage = new QRCodeBitmapImage(image); var qrCodeDecoder = new QRCodeDecoder(); return qrCodeDecoder.decode(qrCodeBitmapImage); } /// /// 返回二维码定义的字符串 /// public static string Decode(string path) => Decode(new Bitmap(path)); } } ``` ```c# 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://gitee.com/atalent/ThoughtWorks.QRCode) 浏览 https://www.nuget.org/packages/ThoughtWorks.QRCode.Standard