建てる | コードカバレッジ | ビルドステータス | NuGetパッケージ |
---|---|---|---|
最新/安定版 |
QRCoder は、C#.NET で書かれたシンプルなライブラリで、これを使用すると QR コードを作成できます。外部ライブラリ1への依存関係はなく、NuGet のパッケージとして利用でき、.NET Framework、.NET Core、.NET Standard、および .NET をサポートします。サポートされているターゲット フレームワークの完全なリストは、ここにあります。
プロジェクトを自由に取得/フォークして、プロジェクトを改善してください。
詳細については、 QRCode Wiki | を参照してください。クリエイターのブログ(英語) |クリエイターのブログ (ドイツ語)
現在および過去のすべてのリリースのリリース ノートは、ここで読むことができます。リリースノート
QRCoder は Raffael Herrmann によるプロジェクトで、2013 年 10 月に初めてリリースされました。 MIT ライセンスに基づいてライセンスされています。
この Github リポジトリをチェックアウトするか、NuGet パッケージ マネージャーを介して QRCoder をインストールします。 NuGet を使用する場合は、「QRCoder」を検索するか、NuGet パッケージ マネージャー コンソールで次のコマンドを実行します。
PM > Install-Package QRCoder
NuGet フィードには、メジャー/安定リリースのみが含まれています。最新の機能が必要な場合は、Github パッケージ経由で CI ビルドを使用できます。 (Nuget パッケージ マネージャーで Github パッケージを使用する方法の詳細については、ここを参照してください。)
最初の QR コードを生成するには、数行のコードのみが必要です。
using ( QRCodeGenerator qrGenerator = new QRCodeGenerator ( ) )
using ( QRCodeData qrCodeData = qrGenerator . CreateQrCode ( " The text which should be encoded. " , QRCodeGenerator . ECCLevel . Q ) )
using ( PngByteQRCode qrCode = new PngByteQRCode ( qrCodeData ) )
{
byte [ ] qrCodeImage = qrCode . GetGraphic ( 20 ) ;
}
他にもたくさんのオプションがあります。詳細については、Wiki を参照してください: Wiki: QRCoder の使用方法
ビットマップ形式で QR コードを作成するための通常の PngByteQRCode クラス (上の例に示されている) に加えて、それぞれ別の特別な目的のための QR コード レンダリング クラスがいくつかあります。
注: すべてのレンダラーがすべてのターゲット フレームワークで使用できるわけではないことに注意してください。ウィキの互換性表をチェックして、お気に入りのターゲット フレームワークで特定のレンダラーが利用できるかどうかを確認してください。
さまざまなレンダリング タイプの詳細については、上のリストのいずれかのタイプをクリックするか、Wiki: 高度な使用法 - QR コード レンダラーを参照してください。
技術的には、QR コードはテキスト/文字列を視覚的に表現したものにすぎません。それにもかかわらず、ほとんどの QR コード リーダーは、さまざまなアクションをトリガーする「特別な」 QR コードを読み取ることができます。
例: WiFi-QRコードは、スマートフォンでスキャンすると、スマートフォンがアクセス ポイントに自動的に参加します。
この「特別な」QR コードは、QR コードの生成時に特別な構造のペイロード文字列を使用して生成されます。 PayloadGenerator.cs クラスは、このペイロード文字列の生成に役立ちます。たとえば WiFi ペイロードを生成するには、次の 1 行のコードだけが必要です。
PayloadGenerator . WiFi wifiPayload = new PayloadGenerator . WiFi ( " MyWiFi-SSID " , " MyWiFi-Pass " , PayloadGenerator . WiFi . Authentication . WPA ) ;
このペイロードから QR コードを生成するには、「ToString()」メソッドを呼び出して QRCoder に渡すだけです。
//[...]
QRCodeData qrCodeData = qrGenerator . CreateQrCode ( wifiPayload . ToString ( ) , QRCodeGenerator . ECCLevel . Q ) ;
//[...]
ペイロードをパラメータとして受け入れるオーバーロードされたメソッドを使用することもできます。ペイロード ジェネレーターには、QR コード バージョン セット (デフォルトは自動設定)、ECC レベル (デフォルトは M)、および ECI モード (デフォルトは自動検出) を設定できます。
//[...]
QRCodeData qrCodeData = qrGenerator . CreateQrCode ( wifiPayload ) ;
//[...]
または、ペイロード ジェネレーターによって設定された ECC レベルをオーバーライドする場合は、ECC レベルを設定できるオーバーロードされたメソッドを使用できます。
//[...]
QRCodeData qrCodeData = qrGenerator . CreateQrCode ( wifiPayload , QRCodeGenerator . ECCLevel . Q ) ;
//[...]
ペイロード ジェネレーターの詳細については、Wiki をご覧ください。
PayloadGenerator は、次のタイプのペイロードをサポートします。
(1)対象のフレームワークに応じて、.NET ライブラリ System.Drawing.Common および System.Text.Encoding.CodePages がパッケージの依存関係として使用されます。