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 件のコメント :
コメントを投稿