Z.QRCodeEncoder.Net
1.0.0
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Z.QRCodeEncoder.Net --version 1.0.0
NuGet\Install-Package Z.QRCodeEncoder.Net -Version 1.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Z.QRCodeEncoder.Net" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Z.QRCodeEncoder.Net" Version="1.0.0" />
<PackageReference Include="Z.QRCodeEncoder.Net" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Z.QRCodeEncoder.Net --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Z.QRCodeEncoder.Net, 1.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=Z.QRCodeEncoder.Net&version=1.0.0
#tool nuget:?package=Z.QRCodeEncoder.Net&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
QRCodeEncoder.Net 二维码生成器.Net版
简介
本项目参考了micjahn/ZXing.Net,只编写了生成器部分,并对处理逻辑进行了大量优化,编译后dll文件仅40kb
注意:本项目不提供二维码绘制方法,如需绘制请看使用示例
依赖导入
dotnet add package Z.QRCodeEncoder.Net --version 1.0.0
方法和参数
二维码 QRCode
参数名 | 中文名 | 类型 | 默认值 |
---|---|---|---|
content | 内容 | string | (无) |
level | 纠错等级 | int | 0 |
mode | 编码模式 | int | (自动探测) |
versionNumber | 版本号 | int | (最小版本) |
版本 Version
参数名 | 中文名 | 类型 | 默认值 |
---|---|---|---|
length | 内容字节数 | int | (无) |
level | 纠错等级 | int | (无) |
mode | 编码模式 | int | (无) |
versionNumber | 版本号 | int | (最小版本) |
掩模模板 MaskPattern
参数名 | 中文名 | 类型 |
---|---|---|
data | 数据 | bool[] |
version | 版本 | Version |
level | 纠错等级 | int |
纠错等级 level
值 | 等级 | 纠错率 |
---|---|---|
0 | L | 7% |
1 | M | 15% |
2 | Q | 25% |
3 | H | 30% |
编码模式 mode
值 | 模式 | 备注 |
---|---|---|
0 | NUMERIC | 数字0-9 |
1 | ALPHANUMERIC | 数字0-9、大写字母A-Z、符号(空格)$%*+-./: |
2 | BYTE(ISO-8859-1) | 兼容ASCII |
3 | BYTE(UTF-8) |
版本号 versionNumber
取值范围:[1,40]
使用示例
生成并绘制二维码
Program.cs
string content = "1234😀";
int level = 0;
QRCode qrCode = new QRCode(content, level);
Bitmap bitmap = ImageUtils.QrBytes2Bitmap(qrCode.Matrix, 10);
ImageUtils.SaveBitmap(bitmap, "qr.png");
ImageUtils.cs
private static readonly Brush BLACK_BRUSH = new SolidBrush(Color.Black);
public static Bitmap QrBytes2Bitmap(bool[,] bytes, int pixelSize)
{
int length = bytes.GetLength(0);
List<Rectangle> rects = new List<Rectangle>();
for (int x = 0; x < length; x++)
{
for (int y = 0; y < length; y++)
{
if (bytes[x, y])
{
rects.Add(new Rectangle((x + 1) * pixelSize, (y + 1) * pixelSize, pixelSize, pixelSize));
}
}
}
int size = (length + 2) * pixelSize;
Bitmap bitmap = new Bitmap(size, size);
using (Graphics g = Graphics.FromImage(bitmap))
{
g.FillRectangles(BLACK_BRUSH, rects.ToArray());
}
return bitmap;
}
public static void SaveBitmap(Bitmap bitmap, string path)
{
bitmap.Save(path, ImageFormat.Png);
}
更新日志
参考
交流
- QQ:
1416978277
- 微信:
1416978277
- 支付宝:
1416978277@qq.com
赞助
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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.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 is compatible. |
.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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- No dependencies.
-
.NETStandard 2.1
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.