備忘録IT

【C#】 ZXingを使ってWindowsフォームにQRコードを生成する

ZXingでQRコードを表示しようとしたけど、結構苦戦したので書いておこうと思います。

言語はC#、開発環境はVisual Studio 2017です。

ZXing.NETを利用するための準備をする。

ZXing.NETをダウンロード?インストール?この辺の正しい言葉がわからないけど、使えるようにします。
Visual Studioでソリューションを開いた後
[ツール]→[NuGetパッケージマネージャー]→[ソリューションのNuGetパッケージの管理]→[参照]
ここで、検索の部分に「ZXing」と入れて検索
[ZXing.Net選択]→[プロジェクトにチェックを入れインストール]
ソリューションエクスプローラーの参照の中にzxingが追加されていれば成功です。

Form1.cs[デザイン]の変更

QRコードを表示させるために以下の操作をします。
ツールボックスから[PictureBox]を選択
f:id:den_noh:20180324020843p:plain

[PictureBox]をフォーム上に配置
f:id:den_noh:20180324021107p:plain

コードを書く

先頭に以下のコードを追加

using ZXing;

フォームロードイベントに以下のコードを記入する。

 private void Form1_Load(object sender, EventArgs e)
{
BarcodeWriter qrcode = new BarcodeWriter
{
// 出力するコードの形式をQRコードに選択
Format = BarcodeFormat.QR_CODE,
Options = new ZXing.QrCode.QrCodeEncodingOptions
{
// QRコードの信頼性
ErrorCorrection = ZXing.QrCode.Internal.ErrorCorrectionLevel.M,
// 日本語を表示したい場合シフトJISを指定
//CharacterSet = "Shift_JIS",
// デフォルト
CharacterSet = "ISO-8859-1",
// QRコードのサイズ決定
Height = 160,
Width = 160,
// QRコード周囲の余白の大きさ
Margin = 4
}
};
// PictureBoxの中心に画像を表示するように設定
pictureBox1.SizeMode = PictureBoxSizeMode.CenterImage;
// QRコードを出力
pictureBox1.Image = qrcode.Write("http://den-noh.hatenablog.com/");
}

実際の表示

f:id:den_noh:20180324031747p:plain

コメント

タイトルとURLをコピーしました