1. 概要
C#でQR Codeを作成する方法を記載します。標準のライブラリでQR Codeを作成することはできませんが、オープンソースのライブラリを使用して作成/読み込みを行うことができます。
使用可能なライブラリは以下から入手できます。
Open Source QRCode Library
ライセンス:The Code Project Open License (CPOL)
2. 使用方法
(1)ライブラリの準備
ダウンロードしたアーカイブを解凍し、"ThoughtWorks.QRCode.sln"を開きます。VisualStudio2010以降の場合は自動的に変換が行われます。
ソリューションのビルドを行うと以下のエラーが発生し失敗します。
error CS0117: 'ThoughtWorks.QRCode.Properties.Resources' に 'GetResource' の定義がありません。変換時に"QRCodeLib\Properties\Resources.Designer.cs"内から'GetResource'が削除されるために発生します。以下のコードを追加することで解決することができます。
internal static byte[] GetResource(String name) { object obj = ResourceManager.GetObject(name, resourceCulture); return ((byte[])(obj)); }
この状態でビルドを行えば、"QRCodeSampleApp\bin\Release\ThoughtWorks.QRCode.dll"が作成されます。
(2)アプリケーションへの組み込み
新規でプロジェクトを作成し、参照設定にThoughtWorks.QRCode.dllを追加します。
using System; using System.Collections.Generic; using System.Text; using System.IO; //出力画像ファイル作成用 using System.Drawing; using System.Drawing.Imaging; //QRCodeライブラリ定義 using ThoughtWorks.QRCode.Codec; using ThoughtWorks.QRCode.Codec.Data; using ThoughtWorks.QRCode.Codec.Util; namespace TestQRCode { class Program { static void Main(string[] args) { //QRエンコーダーの設定 QRCodeEncoder qrEnc = new QRCodeEncoder(); // エンコードはバイト列 qrEnc.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE; // エラー訂正はL qrEnc.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.L; //バージョン設定 qrEnc.QRCodeVersion = 4; // バージョン(1~40) //ピクセルサイズの設定 qrEnc.QRCodeScale = 4; // 1セルのピクセル数 // 文字列を指定してQRコードを生成 Image image = qrEnc.Encode("QR Code creating sample"); // ファイルに保存 image.Save("Sample_QR_Code.png", ImageFormat.Png); } } }
0 件のコメント :
コメントを投稿