IRONQRの使用

.NET 6でQRCoderとIronQRを比較してQRコードを生成する方法

更新済み 4月 29, 2024
共有:

C#(シーシャープ)でのQRコード生成;

C#(シーシャープ)アプリケーションでQRコードを作成することは、開発者にとって一般的な要件であり、特に製品の識別、チケットの発券、URLやその他のデータの共有を簡単に行うアプリケーションに適しています。 C#(シーシャープ)でQRコードを生成するためのライブラリはいくつかあります。 注目すべきオプションは2つある。 QRCoder 以下のコンテンツを日本語に翻訳してください: IronQR (アイアンQR). この記事では、.NET 6で作業する開発者に関連する機能、使いやすさ、パフォーマンス、その他の要素を比較しながら、これらのライブラリの詳細な比較について掘り下げていきます。

.NET 6でQRCoderとIronQRを比較してQRコードを生成する方法

  1. QRコードを生成するための新しいVisual Studioプロジェクトを作成する

  2. QRCoderとIronQRのNuGetパッケージをインストールして比較する。

  3. QRCoderとIronQR(アイアンQR)を使ってQRコードを作成する

  4. QRCoderとIronQR(アイアンQR)のカスタマイズオプション

QRCoder

QRCoder は、C#とQRコードの実装で書かれたオープンソースのライブラリで、ISO/IEC 18004で定義されたQRコードを任意の.NETアプリケーションで生成することができます。 他のライブラリやネットワークスタックに依存しない、軽量で使いやすいライブラリだ。

QRCoderの主な特徴と利点は以下の通りです:

1. 使いやすさ

C# QRCoder は分かりやすく直感的なAPIを提供しており、開発者は最小限の労力で簡単にQRコード/QRコードテキストを生成できます。 そのシンプルさにより、あらゆるスキルレベルの開発者がQRコード生成をプロジェクトに素早く統合することができます。

2.豊富なカスタマイズ・オプション

QRCoderの際立った特徴の1つは、特定の要件に応じてQRコードをカスタマイズできることです。 開発者は、エラー訂正レベル、サイズ、色などのパラメータを調整し、QRコード内にロゴや画像を埋め込むこともできる。

3.複数のエンコーディングフォーマット

QRCoderはさまざまなエンコード形式をサポートしており、開発者はさまざまなタイプのデータをQRコードにエンコードすることができます。 プレーンテキスト、URL、連絡先情報、Wi-Fi認証情報など、QRCoderは幅広いデータ形式を扱うことができます。

4.高品質出力

C# QRCoderが生成するQRコードは高品質で、さまざまなデバイスやスキャン条件下での読み取り可能性と信頼性を保証します。 この信頼性は、QRコードが物理的インタラクションとデジタルインタラクションの橋渡しをするアプリケーションにとって極めて重要である。

5.オープンソースと活発な開発

C# (シーシャープ) QRCoderはオープンソースプロジェクトであり、開発者が開発に貢献し、継続的な改善とアップデートを保証します。 このような積極的なコミュニティへの参加は、技術革新を促進し、図書館が常に進化し続けるテクノロジーの中で適切な存在であり続けることを保証する。

IronQR (アイアンQR)

IronQR (アイアンQR) が開発・保守する強力なC# QRコードライブラリです。 Iron Software (アイアンソフトウェア). C#のソフトウェアエンジニアは、.NETアプリケーションやWebサイトでQRコード(シーシャープ)を検出、読み取り、作成することができます。 IronQR (アイアンQR)の主な特徴は以下の通りです:

QRコード生成

IronQR (アイアンQR)は、高度にカスタマイズ可能です。 QRコード生成. サイズ変更、余白、ボーダー、再カラーリングなど、さまざまなオプションを使ってQRコードを作成できます。

using IronQr;
using IronSoftware.Drawing;
// Prepare a QR Code object
QrCode theQrGen = QrWriter.Write("Awesome IronQR");
// Save QR Code to memory
AnyBitmap myQrImage = theQrGen.Save();
// Save QR Code image to disk
myQrImage.SaveAs("awesome.png");
using IronQr;
using IronSoftware.Drawing;
// Prepare a QR Code object
QrCode theQrGen = QrWriter.Write("Awesome IronQR");
// Save QR Code to memory
AnyBitmap myQrImage = theQrGen.Save();
// Save QR Code image to disk
myQrImage.SaveAs("awesome.png");
Imports IronQr
Imports IronSoftware.Drawing
' Prepare a QR Code object
Private theQrGen As QrCode = QrWriter.Write("Awesome IronQR")
' Save QR Code to memory
Private myQrImage As AnyBitmap = theQrGen.Save()
' Save QR Code image to disk
myQrImage.SaveAs("awesome.png")
VB   C#

QRコード読み取り

IronQR (アイアンQR)はQRコード検出に高度な機械学習モデルを使用しています。 このモデルは、正確で高速なQRコード読み取りを保証します。 IronQR (アイアンQR)は以下をサポートします。 QRコード読み取り JPG、PNG、SVG、bmp、およびgifやtiffのようなマルチページ画像を含む様々な画像フォーマットから。

using IronQr;
using IronSoftware.Drawing;
using System.Collections.Generic;
// Read QR code
var inputBmp = AnyBitmap.FromFile("awesome.png");
// Load the image into QrImageInput
QrImageInput imageInput = new QrImageInput(inputBmp);
// Create the QR Reader object
QrReader reader = new QrReader();
// Read the Input an get all embedded QR Codes
IEnumerable<QrResult> results = reader.Read(imageInput);
using IronQr;
using IronSoftware.Drawing;
using System.Collections.Generic;
// Read QR code
var inputBmp = AnyBitmap.FromFile("awesome.png");
// Load the image into QrImageInput
QrImageInput imageInput = new QrImageInput(inputBmp);
// Create the QR Reader object
QrReader reader = new QrReader();
// Read the Input an get all embedded QR Codes
IEnumerable<QrResult> results = reader.Read(imageInput);
Imports IronQr
Imports IronSoftware.Drawing
Imports System.Collections.Generic
' Read QR code
Private inputBmp = AnyBitmap.FromFile("awesome.png")
' Load the image into QrImageInput
Private imageInput As New QrImageInput(inputBmp)
' Create the QR Reader object
Private reader As New QrReader()
' Read the Input an get all embedded QR Codes
Private results As IEnumerable(Of QrResult) = reader.Read(imageInput)
VB   C#

クロスプラットフォーム互換性

  1. デスクトップWindowsデスクトップアプリケーションと連動 (WPF & MAUI).

  2. モバイル:XamarinとMAUIに対応。

  3. ウェブ:BlazorとWebFormsをサポート。

  4. コンソール:アプリとライブラリ環境。

  5. クラウド:Docker、Azure、AWS。

データのエンコード

QRコードには、テキスト、URL、バイト、数字など、さまざまな種類のデータをエンコードできます。

エラー訂正

IronQR は、詳細なエラーメッセージとカスタムエラー修正オプションを提供します。

数百万人に信頼されているIronQR(アイアンQR)は、その信頼性と使いやすさで世界中のエンジニアに信頼されています。 IronQR (アイアンQR)を使い始めるには、次の方法でインストールできます。 NuGet.

ステップ1:QRコードを生成するための新しいVisual Studioプロジェクトを作成する

コードを始めるにあたり、まず ビジュアルスタジオ プロジェクト Microsoft Visual Studio 2022を開き、"Create new project "オプションを選択する。

.NET 6でIronQRと比較したQRCoderを使用してQRコードを生成する方法: 図1 - Visual Studioを開き、"Create new project"オプションをクリックします。

テンプレートリストからコンソールアプリケーションテンプレートを選択します。

.NET 6でIronQRと比較してQRCoderを使用してQRコードを生成する方法: 図2 - プロジェクトの種類を"Console App"に選択します。

次に、プロジェクト名とソリューション名を入力する。 プロジェクトファイルを保存するパスを選択する

.NET 6でIronQRと比較するQRCoderを使用してQRコードを生成する方法: 図3 - プロジェクト名、場所、ソリューション名を指定してプロジェクトを構成し、[次へ]をクリックします。

必要な .NET バージョンを選択してください。 この記事を書いている時点では、最新の.NET 8フレームワークを使うことにする。

.NET 6でIronQRと比較するQRCoderを使用してQRコードを生成する方法: 図4 - 最新の.NETフレームワークバージョンを選択し、作成ボタンをクリックします。

作成ボタンをクリックすると、プロジェクトが作成され、開発の準備が整います。

ステップ2: QRCoderとIronQR (アイアンQR) NuGetパッケージのインストール

について QRCoder NuGetパッケージは、以下のようにVisual StudioのNuGetパッケージ・マネージャを使ってインストールすることができます。

.NET 6でアイアンQRと比較してQRCoderを使用してQRコードを生成する方法: 図5 - NuGetパッケージマネージャの検索バーで"QRCoder"を検索してソリューション用のNuGetパッケージを管理し、プロジェクトを選択してインストールボタンをクリックしてQRCoderをインストールします。

または、以下のコマンドを使用してNuGetパッケージ・マネージャー・コンソールからインストールする。

dotnet add package QRCoder --version 1.4.3
dotnet add package QRCoder --version 1.4.3
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package QRCoder --version 1.4.3
VB   C#

QRCoder NuGetパッケージは、NuGetウェブサイトから入手可能です。

.NET 6でIronQR (アイアンQR)と比較してQRCoderを使用してQRコードを生成する方法: 図6 - QRCoder NuGetパッケージ

について IronQR (アイアンQR) Visual StudioのNuGetパッケージ・マネージャーを使用して、同様にインストールすることもできます。

.NET 6でIronQRと比較するQRCoderを使用してQRコードを生成する方法: 図7 - NuGetパッケージ・マネージャの検索バーで"IronQR"を検索してソリューション用NuGetパッケージを管理し、プロジェクトを選択してインストール・ボタンをクリックしてIronQR (アイアンQR)をインストールします。

また、NuGetパッケージ・マネージャー・コンソールから、以下のコマンドを使用する。

dotnet add package IronQR --version 2024.4.1
dotnet add package IronQR --version 2024.4.1
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronQR --version 2024.4.1
VB   C#

.NET 6でIronQRと比較したQRCoderを使用してQRコードを生成する方法: 図8 - IronQR NuGetパッケージ

ステップ 3: QRCoderとIronQR (アイアンQR)を使ってQRコードを作成する

2つのライブラリでQRコードを作成するには、簡単なコードが必要です。

QRCoder

次のコードは、QRCoder を使用して最初の QR コードを生成する方法を示しています。

using QRCoder;
using System.Drawing;
namespace QRCoderVsIronQR
{
public class Program
{
    public static void Main()
    {
            using (QRCodeGenerator qrGenerator = new QRCodeGenerator())
            using (QRCodeData qrCodeData = qrGenerator.CreateQrCode("QRCoder Demo 1", QRCodeGenerator.ECCLevel.Q))
            using (var qrCode = new QRCoder.BitmapByteQRCode(qrCodeData))
            {
                var qrCodeImage = qrCode.GetGraphic(20);
                var file = Image.FromStream(new MemoryStream(qrCodeImage));
                file.Save("QrCoderDemo1.png");
            }
        }
    }
}
using QRCoder;
using System.Drawing;
namespace QRCoderVsIronQR
{
public class Program
{
    public static void Main()
    {
            using (QRCodeGenerator qrGenerator = new QRCodeGenerator())
            using (QRCodeData qrCodeData = qrGenerator.CreateQrCode("QRCoder Demo 1", QRCodeGenerator.ECCLevel.Q))
            using (var qrCode = new QRCoder.BitmapByteQRCode(qrCodeData))
            {
                var qrCodeImage = qrCode.GetGraphic(20);
                var file = Image.FromStream(new MemoryStream(qrCodeImage));
                file.Save("QrCoderDemo1.png");
            }
        }
    }
}
Imports QRCoder
Imports System.Drawing
Namespace QRCoderVsIronQR
Public Class Program
	Public Shared Sub Main()
			Using qrGenerator As New QRCodeGenerator()
			Using qrCodeData As QRCodeData = qrGenerator.CreateQrCode("QRCoder Demo 1", QRCodeGenerator.ECCLevel.Q)
			Using qrCode = New QRCoder.BitmapByteQRCode(qrCodeData)
				Dim qrCodeImage = qrCode.GetGraphic(20)
				Dim file = Image.FromStream(New MemoryStream(qrCodeImage))
				file.Save("QrCoderDemo1.png")
			End Using
			End Using
			End Using
	End Sub
End Class
End Namespace
VB   C#

コードの説明

  1. QRCodeGeneratorを作成し、CreateQrCodeメソッドを呼び出してQRコード・グラフィックを生成する。

  2. 次に、QRCoder.BitmapByteQRCodeメソッドを使用して、GetGraphicメソッドからバイト配列を取得します。

  3. 次に、Image.FromStreamメソッドを使用してバイトストリームを画像として保存します。

  4. 出力されたQRコードは以下の通り。

出力

.NET 6でIronQRと比較するQRCoderを使用してQRコードを生成する方法: 図9 - 出力:QRCoderライブラリを使用して生成されたQRコード画像。

IronQR (アイアンQR)

次のコードはIronQR (アイアンQR)を使ってQRコードを生成する方法を示しています:

using IronQr;
using IronSoftware.Drawing;
namespace QrCodeWithIronQR
{
public class Program
{
    public static void Main()
    {
            // Prepare a QR Code object
            QrCode theQrGen = QrWriter.Write("Awesome IronQR");
            // Save QR Code to memory
            AnyBitmap myQrImage = theQrGen.Save();
            // Save QR Code image to disk
            myQrImage.SaveAs("awesome.png");
        }
    }
}
using IronQr;
using IronSoftware.Drawing;
namespace QrCodeWithIronQR
{
public class Program
{
    public static void Main()
    {
            // Prepare a QR Code object
            QrCode theQrGen = QrWriter.Write("Awesome IronQR");
            // Save QR Code to memory
            AnyBitmap myQrImage = theQrGen.Save();
            // Save QR Code image to disk
            myQrImage.SaveAs("awesome.png");
        }
    }
}
Imports IronQr
Imports IronSoftware.Drawing
Namespace QrCodeWithIronQR
Public Class Program
	Public Shared Sub Main()
			' Prepare a QR Code object
			Dim theQrGen As QrCode = QrWriter.Write("Awesome IronQR")
			' Save QR Code to memory
			Dim myQrImage As AnyBitmap = theQrGen.Save()
			' Save QR Code image to disk
			myQrImage.SaveAs("awesome.png")
	End Sub
End Class
End Namespace
VB   C#

すでにお分かりのように、コードの量が違う。 IronQR (アイアンQR)のコード生成はより少ないコードで済む。

コードの説明

  1. QrWriter.Writeを使用してQRコードを作成します。() メソッドを呼び出す。

  2. QRコードをメモリに保存するには() メソッド。

  3. 最後に、SaveAsを使用して画像を保存します。() メソッドを使用する;

出力

試用版のライブラリを使用しているため、出力にはIronQR(アイアンQR)の透かしが入っています。 ライセンス版では、これは取り除かれる。

.NET 6でIronQRと比較したQRCoderを使用してQRコードを生成する方法: 図10 - 出力:IronQR (アイアンQR)を使って生成されたQRコードイメージ

ステップ4 : QRCoderとIronQR (アイアンQR)によるカスタマイズオプション

どちらのライブラリもカスタマイズ・オプションをサポートしている。 いくつかのオプションを見てみよう。

QRコードの色はQRCoderで以下のように設定できます:

using QRCoder;
using System.Drawing;
namespace QRCoderVsIronQR
{
public class Program
{
    public static void Main()
    {
            using (QRCodeGenerator qrGenerator = new QRCodeGenerator())
            using (QRCodeData qrCodeData = qrGenerator.CreateQrCode("QRCoder Demo 1", QRCodeGenerator.ECCLevel.Q))
            using (var qrCode = new QRCoder.BitmapByteQRCode(qrCodeData))
            {                
                var qrCodeImage = qrCode.GetGraphic(20, [255,0,0], [0,255, 0]); // can also use html hex color notation
                var file = Image.FromStream(new MemoryStream(qrCodeImage));
                file.Save("QrCoderDemo1.png");
            }
        }
    }
}
using QRCoder;
using System.Drawing;
namespace QRCoderVsIronQR
{
public class Program
{
    public static void Main()
    {
            using (QRCodeGenerator qrGenerator = new QRCodeGenerator())
            using (QRCodeData qrCodeData = qrGenerator.CreateQrCode("QRCoder Demo 1", QRCodeGenerator.ECCLevel.Q))
            using (var qrCode = new QRCoder.BitmapByteQRCode(qrCodeData))
            {                
                var qrCodeImage = qrCode.GetGraphic(20, [255,0,0], [0,255, 0]); // can also use html hex color notation
                var file = Image.FromStream(new MemoryStream(qrCodeImage));
                file.Save("QrCoderDemo1.png");
            }
        }
    }
}
Imports QRCoder
Imports System.Drawing
Namespace QRCoderVsIronQR
Public Class Program
	Public Shared Sub Main()
			Using qrGenerator As New QRCodeGenerator()
			Using qrCodeData As QRCodeData = qrGenerator.CreateQrCode("QRCoder Demo 1", QRCodeGenerator.ECCLevel.Q)
			Using qrCode = New QRCoder.BitmapByteQRCode(qrCodeData)
				Dim qrCodeImage = qrCode.GetGraphic(20, (255,0,0), (0,255, 0)) ' can also use html hex color notation
				Dim file = Image.FromStream(New MemoryStream(qrCodeImage))
				file.Save("QrCoderDemo1.png")
			End Using
			End Using
			End Using
	End Sub
End Class
End Namespace
VB   C#

コードの説明

  1. QRCodeGeneratorを作成し、CreateQrCodeメソッドを呼び出してQRコード・グラフィックを生成する。

  2. 次に、QRCoder.BitmapByteQRCodeを使用します。() メソッドを使用して、GetGraphicメソッドからバイト配列を取得します。

  3. GetGraphicでは、背景色と線の色を設定できる。 赤を使用した [255,0,0] ラインカラーはR,G,Bカラー、グリーンは [0,255,0] 背景のために。

  4. 次に、Image.FromStreamを使用してバイトストリームを画像として保存します。() メソッド

  5. 出力されたQRコードは以下の通り。

出力

.NET 6でIronQRと比較したQRCoderを使用してQRコードを生成する方法: 図11 - 出力:QRCoderのカスタマイズ機能を使って生成されたカラフルなQRコード。

IronQR(アイアンQR)のQRコード生成では、以下のように色を設定することができます:

using IronQr;
using IronSoftware.Drawing;
namespace QrCodeWithIronQR
public class Program
{
    public static void Main()
    {
            // Set options
            QrOptions options = new QrOptions(QrErrorCorrectionLevel.Medium, 20);
            // Create QR
            QrCode myQr = QrWriter.Write("IronQR Generation Demo 1", options);
            // Style options
            AnyBitmap logoBmp = new AnyBitmap("logo.png");
            QrStyleOptions style = new QrStyleOptions
            {
                BackgroundColor = Color.Aqua,
                Dimensions = 300, // px
                Margins = 10, // px
                Color = Color.Red,
                Logo = new QrLogo
                {
                    Bitmap = logoBmp,
                    Width = 100,
                    Height = 100,
                    CornerRadius = 2
                }
            };
            // Save QR Code
            AnyBitmap qrImage = myQr.Save(style);
            // Save QR Code to local disk
            qrImage.SaveAs("advancedQr.png");
        }
    }
}
using IronQr;
using IronSoftware.Drawing;
namespace QrCodeWithIronQR
public class Program
{
    public static void Main()
    {
            // Set options
            QrOptions options = new QrOptions(QrErrorCorrectionLevel.Medium, 20);
            // Create QR
            QrCode myQr = QrWriter.Write("IronQR Generation Demo 1", options);
            // Style options
            AnyBitmap logoBmp = new AnyBitmap("logo.png");
            QrStyleOptions style = new QrStyleOptions
            {
                BackgroundColor = Color.Aqua,
                Dimensions = 300, // px
                Margins = 10, // px
                Color = Color.Red,
                Logo = new QrLogo
                {
                    Bitmap = logoBmp,
                    Width = 100,
                    Height = 100,
                    CornerRadius = 2
                }
            };
            // Save QR Code
            AnyBitmap qrImage = myQr.Save(style);
            // Save QR Code to local disk
            qrImage.SaveAs("advancedQr.png");
        }
    }
}
Imports IronQr
Imports IronSoftware.Drawing
namespace QrCodeWithIronQR Public Class Program
	Public Shared Sub Main()
			' Set options
			Dim options As New QrOptions(QrErrorCorrectionLevel.Medium, 20)
			' Create QR
			Dim myQr As QrCode = QrWriter.Write("IronQR Generation Demo 1", options)
			' Style options
			Dim logoBmp As New AnyBitmap("logo.png")
			Dim style As New QrStyleOptions With {
				.BackgroundColor = Color.Aqua,
				.Dimensions = 300,
				.Margins = 10,
				.Color = Color.Red,
				.Logo = New QrLogo With {
					.Bitmap = logoBmp,
					.Width = 100,
					.Height = 100,
					.CornerRadius = 2
				}
			}
			' Save QR Code
			Dim qrImage As AnyBitmap = myQr.Save(style)
			' Save QR Code to local disk
			qrImage.SaveAs("advancedQr.png")
	End Sub
End Class
}
VB   C#

IronQR (アイアンQR)には多くの利点があります。 カスタマイズ・オプション. 上記のプログラムでは、背景色、QRコードの色、余白のカスタマイズを試みました。 寸法を設定することもできる。

コードの説明

  1. まず、エラー訂正レベルを設定するオプション・オブジェクトを作成します。

  2. 次に、QrWriter.WriteでQRコードを準備します。() メソッド

  3. 次に、QrStyleOptionsでスタイル・オプションを設定します。

  4. QRコードに背景色、前景色、余白、寸法、ロゴを設定します。

  5. そして、QRコード画像をローカルディスクに保存する。

出力

.NET 6でIronQRと比較したQRCoderを使用してQRコードを生成する方法: 図12 - 出力:IronQR (アイアンQR)とそのカスタマイズ機能を使って生成されたカラフルなQRコード。

ライセンス

QRCoder はMITライセンスに基づくパッケージで、コミュニティの助けによって開発されている。 このパッケージは小予算のプロジェクトに適している。 ユーザーは、コミュニティが問題を解決するのを待つか、プルリクエストが承認されたコードを修正してGitリポジトリにプッシュする必要がある。

IronQR アプリケーションで使用される。 からの支援を受けている。 アイアンソフトウェア.

IronQR を得ることができる。 取得したキーは、ここでappSettings.jsonファイルに配置する必要がある:

{
   "IronQR.License.LicenseKey":"myKey"
}
{
   "IronQR.License.LicenseKey":"myKey"
}
If True Then
   "IronQR.License.LicenseKey":"myKey"
End If
VB   C#

結論

C#(シーシャープ)の選択 QRCoder 以下のコンテンツを日本語に翻訳してください: IronQR (アイアンQR) 最終的には、プロジェクトの具体的な要件に依存する。 多くのカスタマイズオプションがあるフリーでオープンソースのQRコード生成ライブラリが必要な場合は、そのシンプルさと豊富なカスタマイズオプションのために、C# QRCoderが好ましい選択かもしれません。

カスタマイズ・オプションによるQRコードの生成だけでなく、QRコードの読み取りもサポートするエンタープライズ・レベルのライブラリが必要な場合は、次のようになります。 IronQR (アイアンQR) が究極の選択だろう。ということで、最終的にはIronQR(アイアンQR)ライブラリの多くの利点とサポート機能から Iron Software (アイアンソフトウェア)開発者は、安心してエンタープライズ・アプリケーションを書くことができる。

< 以前
C#でQRコード生成アプリケーションを作成する方法
次へ >
VB .NETでQRコードを生成する方法

準備はできましたか? バージョン: 2024.9 新発売

無料のNuGetダウンロード 総ダウンロード数: 14,256 View Licenses >