C#でQRコードを生成する方法を解説します
ZXing.Net
QRコードを生成するパッケージ。ライセンスは、Apache-2.0
です。
Nugetパッケージマネージャーから検索するか、以下のコマンドでインストールします。
dotnet add package ZXing.Net --version 0.16.9
Windows Formでの実装例
シンプルにボタンをクリックしたらQRコードが作成されるだけの実装です
using ZXing;
using ZXing.QrCode;
private void button1_Click(object sender, EventArgs e)
{
string URL = "https://qiita.com";
var bitmap = GenerateQRcode(URL);
pictureBoxQR.SizeMode = PictureBoxSizeMode.CenterImage;
pictureBoxQR.Image = bitmap;
}
/// <summary>
/// QRコード生成
/// </summary>
/// <param name="URL"></param>
/// <returns></returns>
private Bitmap GenerateQRcode(string URL)
{
var writer = new BarcodeWriter
{
Format = ZXing.BarcodeFormat.QR_CODE,
Options = new QrCodeEncodingOptions
{
Height = 200,
Width = 200,
Margin = 1
}
};
return writer.Write(URL);
}
QRコードの読み取り
反対に、QRコードからコンテンツを読み込むことも可能です。
/// <summary>
/// QRコード読み取り
/// </summary>
/// <param name="filePath"></param>
private void ReadBarcode(string filePath)
{
var reader = new BarcodeReader();
var barcodeBitmap = (Bitmap)Image.FromFile(filePath);
var result = reader.Decode(barcodeBitmap);
if (result != null)
{
var decodeType = result.BarcodeFormat.ToString(); // "QR_CODE"
var contentText = result.Text; // "https://qiita.com"
}
}
どちらの実装も簡単に使えそうです。