Skip to content

Commit d6a2ef3

Browse files
committed
Workflow update
1 parent 378ee05 commit d6a2ef3

1 file changed

Lines changed: 34 additions & 10 deletions

File tree

Lines changed: 34 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,48 @@
11
#!/usr/bin/env dotnet-script
22

3-
#r "nuget: QRCoder"
3+
#r "nuget: ZXing.Net, 0.16.9"
4+
#r "nuget: ZXing.Net.Bindings.SkiaSharp, 0.16.9"
5+
#r "nuget: SkiaSharp, 2.88.3"
46

5-
using QRCoder;
67
using System;
78
using System.IO;
9+
using ZXing;
10+
using ZXing.QrCode;
11+
using ZXing.SkiaSharp;
12+
using ZXing.SkiaSharp.Rendering;
13+
using SkiaSharp;
814

9-
if (args.Length != 2)
15+
if (Args.Count != 2)
1016
{
1117
Console.WriteLine("Usage: dotnet-script generate-qr.csx <url> <output-file>");
1218
return;
1319
}
1420

15-
string url = args[0];
16-
string outputFile = args[1];
21+
string url = Args[0];
22+
string outputFile = Args[1];
1723

18-
QRCodeGenerator qrGenerator = new QRCodeGenerator();
19-
QRCodeData qrCodeData = qrGenerator.CreateQrCode(url, QRCodeGenerator.ECCLevel.Q);
20-
PngByteQRCode qrCode = new PngByteQRCode(qrCodeData);
21-
byte[] qrCodeImage = qrCode.GetGraphic(20);
24+
var qrCodeEncodingOptions = new QrCodeEncodingOptions
25+
{
26+
Height = 512,
27+
Width = 512,
28+
Margin = 4
29+
};
30+
31+
var barcodeWriter = new BarcodeWriter<SKBitmap>
32+
{
33+
Format = BarcodeFormat.QR_CODE,
34+
Options = qrCodeEncodingOptions,
35+
Renderer = new SKBitmapRenderer()
36+
};
37+
38+
using (var bitmap = barcodeWriter.Write(url))
39+
{
40+
using (var image = SKImage.FromBitmap(bitmap))
41+
using (var data = image.Encode(SKEncodedImageFormat.Png, 100))
42+
using (var stream = File.OpenWrite(outputFile))
43+
{
44+
data.SaveTo(stream);
45+
}
46+
}
2247

23-
File.WriteAllBytes(outputFile, qrCodeImage);
2448
Console.WriteLine($"QR Code saved to {outputFile}");

0 commit comments

Comments
 (0)