【.NET/C#】QRコードのPNGファイルを作る【QRCoder】
2024-7-30 | .NET
.NETでQRCoderを使ってQRコードを描きたい!
概要
今回の記事では、.NETでQRCoderを使ってQRコードを描く手順を掲載する。
仕様書
環境
- NET 8.0
- QRCoder 1.6.0
手順書
NuGetパッケージマネージャーなどからQRCoder
をインストールする。
Install-Package QRCoder
当ブログのURL(https://blog.nekonium.com
)のQRコードを作ってPNGファイルに保存する例。
using QRCoder;
using System.Runtime.InteropServices;
namespace tests
{
internal class Program
{
static public void DrawQRCode()
{
string qrText = "https://blog.nekonium.com";
var qrGenerator = new QRCodeGenerator();
var qrData = qrGenerator.CreateQrCode(qrText, QRCodeGenerator.ECCLevel.Q);
var qrCode = new BitmapByteQRCode(qrData);
var qrCode = new PngByteQRCode(qrData);
byte[] qrCodeBytes = qrCode.GetGraphic(8);
File.WriteAllBytes("qr.png", qrCodeBytes);
}
static void Main(string[] args)
{
DrawQRCode();
}
}
}
QRCodeGenerator
のメソッドCreateQrCode
のコンストラクターの引数のQRCodeGenerator.ECCLevel.Q
はError Correction Levelで冗長性の割合を指定できる。QRCodeGenerator.ECCLevel.Q
では、約25%くらいの冗長性を持たせてコードの一部が破損しても正しいデータが取り出せるようになる。L
<M
<Q
<H
の順で冗長性が高くなってく。
PngByteQRCode
のメソッドGetGraphic
の引数でQRコードの1つの点の大きさを整数で指定できる。
PngByteQRCode
の代わりにBitmapByteQRCode
を使うとbmpファイル用のByte列を作れる。
まとめ(感想文)
楽にQRコードを作れて良いね!