ThoughtWorks.QRCode.Standard
1.0.1.6
dotnet add package ThoughtWorks.QRCode.Standard --version 1.0.1.6
NuGet\Install-Package ThoughtWorks.QRCode.Standard -Version 1.0.1.6
<PackageReference Include="ThoughtWorks.QRCode.Standard" Version="1.0.1.6" />
paket add ThoughtWorks.QRCode.Standard --version 1.0.1.6
#r "nuget: ThoughtWorks.QRCode.Standard, 1.0.1.6"
// Install ThoughtWorks.QRCode.Standard as a Cake Addin #addin nuget:?package=ThoughtWorks.QRCode.Standard&version=1.0.1.6 // Install ThoughtWorks.QRCode.Standard as a Cake Tool #tool nuget:?package=ThoughtWorks.QRCode.Standard&version=1.0.1.6
二维码识别生成类库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
浏览
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- System.Drawing.Common (>= 4.5.0)
NuGet packages (7)
Showing the top 5 NuGet packages that depend on ThoughtWorks.QRCode.Standard:
Package | Downloads |
---|---|
Rex.Helper.Core
扩展组件:AutoMapper、HTTP、二维码生成/解析、HTML操作/解析等。 |
|
Arlown.Tomato
Arlown.Tomato Desc |
|
witeem.ExtensionTools
此库含有多种工具类:加密解密工具类类(EncyptHelper) ,字符串工具类(StringHelper),类型工具类(TypeHelper), 还有正在完善的二维码工具类(QRcodeHelper)。 优化配置文件工具类ConfigManagerHelper:GetSection<T> 获取配置信息引用对象。 个人学习案例,商业项目慎用! |
|
witeem.CoreHelper
个人学习使用: Hangfire 公共组件 HttpHelper 公共组件 Redis 公共组件 Swagger 公共组件 |
|
NFWY.GateManage.Admin
前后端分离,开箱即用 |
GitHub repositories
This package is not used by any popular GitHub repositories.
通过overflow version++
解决了字符过长的问题