2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

C#でのQRコード生成の実装【ZXing.Net】

Posted at

C#でQRコードを生成する方法を解説します :camera:

ZXing.Net

QRコードを生成するパッケージ。ライセンスは、Apache-2.0です。

Nugetパッケージマネージャーから検索するか、以下のコマンドでインストールします。

dotnet add package ZXing.Net --version 0.16.9

Windows Formでの実装例

シンプルにボタンをクリックしたらQRコードが作成されるだけの実装です :sunny:

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コード実装

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"
    }
}

どちらの実装も簡単に使えそうです。

Reference

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?