C# (シーアンドナム; QRコードジェネレータアプリケーション)

This article was translated from English: Does it need improvement?
Translated
View the article in English

を作成するためのガイドへようこそ。 QRコード C#(シーシャープ)使用! QRコードと.NETバーコードDLLは、情報を迅速かつ効率的に共有するための一般的な方法となっています。 アプリを開発するにしても、ウェブサイトを管理するにしても、あるいは単にリンクを共有するすてきな方法を探しているにしても、これらのコードは驚くほど便利だ。 このガイドでは、QRコードを効率的に生成する方法を示します。 IronQRお客様のニーズに合わせてQRコードを作成することができます。 このライブラリを使えば、C#(シーシャープ)を使っている人なら誰でも、複雑なロジックに触れることなく、簡単にQRコードを作成することができます。 必要なものがすべて揃っていることを確認しながら、順を追ってご説明します。 あなたのアプリにQRコードジェネレーター機能を追加しようとしている方も、QRコードジェネレーターがどのように作られるのか興味がある方も、このサイトをご覧ください。 さあ、始めましょう。

C#でQRコード生成ライブラリをインストールする

 用 C# NuGet ライブラリ

でインストール NuGet

Install-Package IronQR
 用 C# NuGet ライブラリ

でインストール NuGet

Install-Package IronQR
または
Java PDF JAR(ジャバPDF JAR)

ダウンロード DLL (ディーエルエル)

DLLをダウンロード

プロジェクトに手動でインストールする

今日からプロジェクトでIronPDFを使い始めましょう。無料のトライアルをお試しください。

最初のステップ:
green arrow pointer

チェックアウト IronQR オン Nuget 迅速なインストールと展開のために。8百万以上のダウンロード数により、をC#で変革しています。

 用 C# NuGet ライブラリ nuget.org/packages/IronQR/
Install-Package IronQR

始める前に、インストールする必要があります IronQR NuGetパッケージ。

Install-Package IronQR

IronQR (アイアンQR): C# QRライブラリ

IronQR は、.NETアプリケーションにQRコード機能を統合するためのC# QRコードライブラリです。 IronQRは、C#、VB.NET、F#、.NETコア、.NETスタンダード、.NETフレームワークなど、幅広い.NETバージョンとプロジェクトタイプをサポートし、Windows、Linux、macOS、iOS、Androidなど様々な開発環境との互換性を保証します。

IronQR(アイアンQR)は、以下のような高度な機能で差別化を図っている。 QRコードを読む 以下のコンテンツを日本語に翻訳してください: QRコードを生成するまた、複数の画像形式をサポートし、サイズ変更、スタイル設定、QRコードへのロゴ追加などのカスタマイズも可能です。

IronQR (アイアンQR)の主な特徴

IronQR (アイアンQR)は基本的なQRコード生成機能だけでなく、QRコードに関連する様々なタスクに対応するための機能を提供しています。 コンソールアプリのようなあらゆるタイプの.NETアプリケーションテンプレートに統合できるように、これらの機能とそのサンプルコードを確認してみましょう。

QRコードの読み取り

IronQR (アイアンQR)はQRコードのデコードに優れており、QRコードに埋め込まれた情報にアクセスする簡単な方法をユーザーに提供します。 簡単なURLから複雑な埋め込み情報まで、QRコードから素早く正確にデータを抽出することができます。

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-code-generator-application-1.cs
using IronQr;
using IronSoftware.Drawing;
using System;
using System.Collections.Generic;

IronQr.License.LicenseKey = "License-Key";

// Load the image file that contains the QR Code
var inputImage = AnyBitmap.FromFile("QRCode.png");

// Prepare the image for QR code detection
QrImageInput qrInput = new QrImageInput(inputImage);

// Initialize the QR Code reader
QrReader qrReader = new QrReader();

// Execute QR Code reading on the provided image
IEnumerable<QrResult> qrResults = qrReader.Read(qrInput);

// Assuming you have the QR results in qrResults as before
foreach (var result in qrResults)
{
    Console.WriteLine(result.Value); // Print the QR code content to the console
}
Imports IronQr
Imports IronSoftware.Drawing
Imports System
Imports System.Collections.Generic

IronQr.License.LicenseKey = "License-Key"

' Load the image file that contains the QR Code
Dim inputImage = AnyBitmap.FromFile("QRCode.png")

' Prepare the image for QR code detection
Dim qrInput As New QrImageInput(inputImage)

' Initialize the QR Code reader
Dim qrReader As New QrReader()

' Execute QR Code reading on the provided image
Dim qrResults As IEnumerable(Of QrResult) = qrReader.Read(qrInput)

' Assuming you have the QR results in qrResults as before
For Each result In qrResults
	Console.WriteLine(result.Value) ' Print the QR code content to the console
Next result
VB   C#

スキャンには以下のQRを使用する:

C# で QR コード画像を作成

そして、こんな出力が出た:

C# (シーシャープ) QR値

必要な名前空間、IronQr、IronSoftware.Drawingを組み込むことから始め、画像操作を処理するためにIronSoftware.Drawing名前空間からColorを指定します。

QRコード読み取りプロセスに入る前に、IronQr.License.LicenseKeyにライセンスキーを割り当て、ソフトウェアをアクティベートする必要があります。 次に、AnyBitmap.FromFile を使用してファイルから QR コード画像をロードします。("QRCode.png").

画像が読み込まれたら、次のステップではQRコード検出のための準備をします。 この準備は、画像のコンテナとして機能するQrImageInputオブジェクトを作成することで行われます。

この機能の中核はQrReaderクラスにあり、このクラスはインスタンス化され、QRコードの読み取り操作を実行するために使用される。 リーダは、準備された画像qrInputを解析し、そこに含まれるQRコードを検索する。 この操作の結果はQrResultオブジェクトの集まりで、それぞれが画像内で検出されたQRコードを表します。

QRコードにエンコードされたデータにアクセスして利用するために、コードはforeachループを使って結果のコレクションを繰り返し処理します。各QrResultオブジェクトには、QRコードの値などのプロパティが含まれており、アクセスして表示することができます。

カスタムQRリードモードオプション

IronQR (アイアンQR)は画像からQRコードを読み取る様々な方法を提供し、様々なニーズに対応します。 オプションのひとつに、速度と精度のバランスをとるミックス・スキャン・モードがあり、QRコードが明確でない場合や部分的に隠れている場合に便利だ。

もうひとつは機械学習だ。 (機械学習 (ML)) 破損していたり、通常では読み取りにくいQRコードを、スマートテクノロジーを使って読み取る「スキャンモード」。 このモードは、QRコードの検出が困難なタフな状況に最適です。

最後に、ベーシック・スキャン・モードがあり、これは明確でわかりやすいQRコードをスキャンするための最も速くシンプルな方法である。 迅速な結果が必要な場合に最適で、QRコードも読みやすい。

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-code-generator-application-2.cs
using IronQr;
using IronQr.Enum;
using IronSoftware.Drawing;
using System.Collections.Generic;

IronQr.License.LicenseKey = "License-Key";

// Load the image file that contains the QR Code
var inputImage = AnyBitmap.FromFile("QRCode.png");

QrImageInput mixedScanInput = new QrImageInput(inputImage, QrScanMode.OnlyDetectionModel);
IEnumerable<QrResult> mixedScanResults = new QrReader().Read(mixedScanInput);

QrImageInput mlScanInput = new QrImageInput(inputImage, QrScanMode.OnlyDetectionModel);
IEnumerable<QrResult> mlScanResults = new QrReader().Read(mlScanInput);

QrImageInput basicScanInput = new QrImageInput(inputImage, QrScanMode.OnlyBasicScan);
IEnumerable<QrResult> basicScanResults = new QrReader().Read(basicScanInput);
Imports IronQr
Imports IronQr.Enum
Imports IronSoftware.Drawing
Imports System.Collections.Generic

IronQr.License.LicenseKey = "License-Key"

' Load the image file that contains the QR Code
Dim inputImage = AnyBitmap.FromFile("QRCode.png")

Dim mixedScanInput As New QrImageInput(inputImage, QrScanMode.OnlyDetectionModel)
Dim mixedScanResults As IEnumerable(Of QrResult) = (New QrReader()).Read(mixedScanInput)

Dim mlScanInput As New QrImageInput(inputImage, QrScanMode.OnlyDetectionModel)
Dim mlScanResults As IEnumerable(Of QrResult) = (New QrReader()).Read(mlScanInput)

Dim basicScanInput As New QrImageInput(inputImage, QrScanMode.OnlyBasicScan)
Dim basicScanResults As IEnumerable(Of QrResult) = (New QrReader()).Read(basicScanInput)
VB   C#

アドバンスQRコードを読む

IronQR(アイアンQR)の高度なQRコード読み取り機能は、QRコードのスキャンとデコードに包括的でニュアンスのあるアプローチを提供するように設計されています。 この機能セットは、基本的なQRコード読み取り機能を超えて拡張され、より深いレベルのインタラクションとデータ抽出を提供する。

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-code-generator-application-3.cs
using IronQr;
using IronSoftware.Drawing;
using System;
using System.Collections.Generic;

IronQr.License.LicenseKey = "License-Key";

var imageToScan = AnyBitmap.FromFile("QRCode.png");

QrImageInput qrInput = new QrImageInput(imageToScan);

QrReader qrScanner = new QrReader();

IEnumerable<QrResult> scanResults = qrScanner.Read(qrInput);

foreach (QrResult qrResult in scanResults)
{

    Console.WriteLine(qrResult.Value);

    Console.WriteLine(qrResult.Url);

    foreach (IronSoftware.Drawing.PointF coordinate in qrResult.Points)
    {
        Console.WriteLine($"{coordinate.X}, {coordinate.Y}");
    }
}
Imports IronQr
Imports IronSoftware.Drawing
Imports System
Imports System.Collections.Generic

IronQr.License.LicenseKey = "License-Key"

Dim imageToScan = AnyBitmap.FromFile("QRCode.png")

Dim qrInput As New QrImageInput(imageToScan)

Dim qrScanner As New QrReader()

Dim scanResults As IEnumerable(Of QrResult) = qrScanner.Read(qrInput)

For Each qrResult As QrResult In scanResults

	Console.WriteLine(qrResult.Value)

	Console.WriteLine(qrResult.Url)

	For Each coordinate As IronSoftware.Drawing.PointF In qrResult.Points
		Console.WriteLine($"{coordinate.X}, {coordinate.Y}")
	Next coordinate
Next qrResult
VB   C#

これはIronQR(アイアンQR)を使ってQRコードをスキャンしたときの出力です:

C# (シーシャープ) QRコード読み取り結果

以下のQRコードを使用しています:

C# で QR コード画像を作成

各QrResultオブジェクトは、デコードされたデータへのアクセスを提供します。 (価値)埋め込みURL (URL)空間座標 (ポイント) 画像内のQRコードの

IronQR(アイアンQR)は検出されたQRコードごとに、正確な内容やQRコードに含まれるURLなどの詳細情報を提供します。 さらに、このライブラリは、画像内のQRコードのコーナーの正確な座標を提供します。 (ポイント・プロパティを通じて).

C#アプリケーションでQRコードのアイアンQRライブラリを使用してQRコードジェネレータを作成するには、以下の手順に従ってください。 このガイドでは、Windowsフォーム・アプリケーションのセットアップ、IronQR(アイアンQR)ライブラリのインストール、QRコードを生成するコードの記述、出力の理解について説明します。

ステップ1:Visual StudioでWindowsアプリケーションを作成する

  • まず、お使いのコンピューターでVisual Studioを起動します。
  • 「新しいプロジェクトを作成」ボタンをクリックしてください。

  • プロジェクトタイプとしてWindows Forms Appを選択します。 言語は必ずC#(シーシャープ)を選択してください。
    Windowsフォームアプリ

    プロジェクトの名前を入力し、保存場所を選択します。 そして次の画面で、.NETフレームワークを選択する。 次にCreateをクリックする。

    プロジェクト構成

    Visual StudioでWindowsフォーム・アプリケーションを作成し、開きます。

ステップ2: IronQR (アイアンQR)ライブラリのインストール

それでは、いよいよIronQR(アイアンQR)ライブラリをプロジェクトにインストールします。 IronQR (アイアンQR)ライブラリはさまざまな方法でインストールできます。 好みに合わせて選んでください:

NuGetパッケージマネージャを使用してインストールする

  • ソリューション・エクスプローラーでプロジェクトを右クリックし、Manage NuGet Packages を選択します。
  • 検索ボックスにIronQR(アイアンQR)と入力し、Enterキーを押します。
    NuGetパッケージの管理

    リストの中からIronQRを探し、その横にあるインストールをクリックします。

    IronQR (アイアンQR)のインストール

NuGetパッケージマネージャーコンソールを使用してインストールする

ツール > NuGetパッケージマネージャ > パッケージマネージャコンソール**に移動します。

NuGet パッケージマネージャー

Install-Package(アイアンQR)**」と入力し、Enterキーを押します。

IronQR (アイアンQR)のインストール

ステップ3:フロントエンドのデザイン

QRコードジェネレーター

3.1 タイトルヘッダー

QRコードの作成

QRコード生成アプリケーションを起動すると、すぐに「QR Generator IronQR(アイアンQR)」と題された印象的なヘッダーが表示され、太く権威のあるフォントで設定されています。 エージェンシーFBというフォントは、そのクリーンでモダンなラインが、効率性と正確さを伝えるために選ばれた。 48ポイントという大きめのフォントのタイトルは、目立つと同時に主張があり、ユーザーの注意を引きつけ、アプリケーションのアイデンティティをしっかりと確立します。

3.2 入力セクション

QRコードのテキスト入力

QRコード文字入力

入力セクションの中心にあるのは、シンプルかつ基本的な構成要素であるテキスト入力ボックスである。 ここでユーザーは、QRコードにエンコードしたいデータを入力することができる。 ボックスは広々としており、かなりの量のテキストを収容し、上部付近に目立つように配置されている。

ロゴの選択

ロゴを選択

テキスト入力の下にある "ロゴ選択 "エリアでは、さらにカスタマイズが可能です。 ユーザーは、QRコードに埋め込まれるロゴをアップロードして、ブランド認知度を高めたり、コードをパーソナライズすることができる。 隣接する画像ボックスは、選択したロゴのプレビューを提供し、即座に視覚的なフィードバックを提供します。

カラー構成

背景色

右側に移動すると、インターフェイスに色選択のオプションが表示される。 QRコードの色と背景色の2つのボタンで、QRコードのパレットをカスタマイズできます。 これらのボタンの隣にあるリッチテキストボックスには、現在選択されている色が表示されます。

テキスト、ロゴ、色のオプションを備えた入力セクションの入念なレイアウトは、QRコードを作成する際のユーザーの優先順位を明確に理解していることを反映している。 機能性と柔軟性を兼ね備えており、ユーザーは必要な情報を素早く効率的に入力できる一方、創造性を発揮する余地もある。

3.3 スタイリング・パラメーター

スタイリング

寸法設定

カラー・カスタマイズ・ツールに隣接して、ユーザーは "Dimensions"(寸法)の入力を見つける。この数値設定は、QRコードの全体的なサイズを決定するため非常に重要であり、名刺、チラシ、デジタル画面など、意図された表示コンテキストに完全に収まるようにします。

マージン設定

寸法入力の隣にある「余白」フィールドでは、QRコードを囲む余白を指定することができます。 余白は単なる美的選択ではなく、スキャナーによるQRコードの読み取りやすさに影響を与える機能的要素です。 このアプリケーションは、ユーザーがこのパラメーターを簡単に調整できるように、数値によるアップダウンコントロールを提供する。

3.4 出力プレビュー

QR出力

ユーザーがQRコードの生成を開始すると、フォームの左側にある「出力」と書かれた大きな画像ボックスが焦点となる。 これはダイナミック・ディスプレイとして機能し、生成されたQRコードのリアルタイム・プレビューを提供する。 この即時の視覚的フィードバックは、ユーザーがデザインの選択を確認し、保存する前にQRコードが期待に応えていることを確認するために不可欠である。

3.5つのアクションボタン

QRの生成

C#(シーシャープ)のQRコード

QR生成」ボタンは、アプリケーションのインターフェイスにおける極めて重要な制御要素です。 フォーム内に戦略的に配置されたこのボタンは、QRコード作成プロセスのきっかけとなります。 このボタンをクリックすると、アプリケーションはユーザーによって定義されたすべての入力データとスタイリングパラメータを受け取り、カスタムQRコードの生成を開始します。

QRコードの保存

最大

QRコードが生成され、出力プレビューエリアに表示されると、「QRを保存」ボタンが登場します。 クリックすると保存ダイアログが開き、希望のファイル形式と保存場所を選択できる。

リセットフォーム

リセット

このボタンを1回クリックするだけで、それまでの入力や選択がすべてクリアされ、すべての設定がデフォルト値に戻ります。 これはフォームの重要な側面であり、各オプションを手動で調整することなく、アプリケーションを再初期化する迅速な方法を提供する。

ステップ4:バックエンドロジックを書く

4.1 セットアップと初期化

まず、必要な名前空間を含めることから始めます:IronQr(アイアンQR)とIronSoftware.Drawing. これらの名前空間は、アプリケーション内でQRコードや色を生成・操作するために必要な機能を提供するため、必要不可欠です。 カスタムColorクラスは、IronQR (アイアンQR)の要件との互換性を確保するために、デフォルトのSystem.Drawing.Colorをオーバーライドし、QRコード生成における色管理を容易にするために定義されています。

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-code-generator-application-4.cs
using IronQr;
using IronSoftware.Drawing;
using Color = IronSoftware.Drawing.Color;


Imports IronQr
Imports IronSoftware.Drawing
Imports Color = IronSoftware.Drawing.Color
VB   C#

QR_Generatorクラスのコンストラクタは、アプリケーションの使用準備において重要な役割を果たします。 ここでアプリケーションのコンポーネントが初期化されます。これはWindowsフォームアプリケーションの標準的なステップで、フォームのUI要素をセットアップするためのものです。

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-code-generator-application-5.cs
public QR_Generator()
{
    InitializeComponent();
    SetLicenseKey();
    EnsureDirectoryExists(qrCodesDirectory);
}
'INSTANT VB WARNING: The following constructor is declared outside of its associated class:
'ORIGINAL LINE: public QR_Generator()
Public Sub New()
	InitializeComponent()
	SetLicenseKey()
	EnsureDirectoryExists(qrCodesDirectory)
End Sub
VB   C#

SetLicenseKey:このメソッドはIronQR(アイアンQR)ライブラリの有効なライセンスキーを適用するために呼び出されます。 商用アプリケーションやIronQR (アイアンQR)ライブラリの全機能を利用するにはライセンスキーの使用が必須です。

EnsureDirectoryExists:生成されたQRコードを保存する必要があるため、このメソッドは専用のディレクトリがあることを確認します。 アプリケーションの起動パスに "QR Codes "ディレクトリが存在するかどうかをチェックし、存在しない場合は作成します。

4.2 ライセンスキーの設定

IronQR (アイアンQR)を制限なく動作させるためには、有効なライセンスキーを適用する必要があります。 これは SetLicenseKey メソッドによって実現されます。このメソッドは静的なメソッドで、購入したライセンスキーや試用版のライセンスキーを使ってライブラリを設定するように設計されています。 以下のコード・スニペットは、ライセンス・キーの設定方法を示しています:

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-code-generator-application-6.cs
private static void SetLicenseKey()
{
    IronQr.License.LicenseKey = "YOUR_LICENSE_KEY";
}
Private Shared Sub SetLicenseKey()
	IronQr.License.LicenseKey = "YOUR_LICENSE_KEY"
End Sub
VB   C#

YOUR_LICENSE_KEY "はアイアンソフトウェアから取得した実際のライセンスキーに置き換えてください。 このメソッドはQR_Generatorクラスのコンストラクタ内で呼び出され、アプリケーションが起動するとすぐに、そしてQRコードの生成が行われる前にライセンスが適用されるようにします。

4.3 ディレクトリ管理

アプリケーションは、EnsureDirectoryExistsメソッドを使用して、QRコードを格納するための指定されたディレクトリが存在するかどうかを確認します。 そうでない場合は、ディレクトリを作成する。 このメソッドは、チェックまたは作成するディレクトリのパスを文字列パラメータとして受け取ります。 その方法はこうだ:

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-code-generator-application-7.cs
private static void EnsureDirectoryExists(string path)
{
    if (!System.IO.Directory.Exists(path))
    {
        System.IO.Directory.CreateDirectory(path);
    }
}
Private Shared Sub EnsureDirectoryExists(ByVal path As String)
	If Not System.IO.Directory.Exists(path) Then
		System.IO.Directory.CreateDirectory(path)
	End If
End Sub
VB   C#

このメソッドは、System.IO名前空間を利用してファイルシステムとやりとりする。 まず、Directory.Existsを使用して、指定したパスのディレクトリが存在するかどうかをチェックします。 ディレクトリが存在しない場合 (falseが返される)その後、Directory.CreateDirectoryを使用してディレクトリを作成します。

QRコード・ディレクトリへのパスはQR_GeneratorクラスのコンストラクタでqrCodesDirectoryとして定義され、これはアプリケーションのスタートアップ・パスと "QR Codes "フォルダ名を組み合わせたものです:

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-code-generator-application-8.cs
string qrCodesDirectory = System.IO.Path.Combine(Application.StartupPath, "QR Codes");
Dim qrCodesDirectory As String = System.IO.Path.Combine(Application.StartupPath, "QR Codes")
VB   C#

4.4 色の選択

このアプリケーションでは、ユーザー・インターフェース上に2つのボタンが用意されており、それぞれが色を選択するためのメソッドに関連付けられています:QRコードの色はbtn_color_Click、背景色はbtn_background_Clickです。 これらのメソッドは、カラー・ダイアログ・ボックスを活用してユーザーに色を選ばせる。

カラーダイアログボックスを使用して色を選択すると、選択した色が16進数文字列形式に変換されます。 これは、IronQR(アイアンQR)ライブラリが色を16進数で指定する必要があるためです。 変換はColorToHexメソッドで行われる:

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-code-generator-application-9.cs
private string ColorToHex(System.Drawing.Color color)
{
    return $"#{color.R:X2}{color.G:X2}{color.B:X2}";
}
Private Function ColorToHex(ByVal color As System.Drawing.Color) As String
	Return $"#{color.R:X2}{color.G:X2}{color.B:X2}"
End Function
VB   C#

UpdateColorメソッドは選択された色を受け取り、16進文字列を使用してIronSoftware.Drawing.Colorフォーマットに変換し、選択内容に応じてQRコードの前景色または背景色を更新します。 また、新しい色の選択を反映させるためにUIも更新される:

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-code-generator-application-10.cs
private void UpdateColor(ref Color targetColor, Control display, bool isBackground)
{
    if (select_color.ShowDialog() == DialogResult.OK)
    {
        var hexColor = ColorToHex(select_color.Color);
        targetColor = new Color(hexColor);
        display.BackColor = select_color.Color;
    }
}
Private Sub UpdateColor(ByRef targetColor As Color, ByVal display As Control, ByVal isBackground As Boolean)
	If select_color.ShowDialog() = DialogResult.OK Then
		Dim hexColor = ColorToHex(select_color.Color)
		targetColor = New Color(hexColor)
		display.BackColor = select_color.Color
	End If
End Sub
VB   C#

4.5 ロゴの追加

このアプリケーションには (btn_logo_クリック) をクリックすると、ファイルダイアログが開き、ロゴとして使用する画像ファイルを選択することができます。 この機能は、QRコードをブランド化したいと考えている企業や個人にとって非常に重要である。 ここでは、ロゴの選択と統合プロセスについて説明する:

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-code-generator-application-11.cs
private void btn_logo_Click(object sender, EventArgs e)
{
    if (select_logo.ShowDialog() == DialogResult.OK)
    {
        try
        {
            logoBmp = new AnyBitmap(select_logo.FileName);
            selected_logo.Image = Image.FromFile(select_logo.FileName);
        }
        catch (Exception ex)
        {
            ShowError("An error occurred while loading the logo", ex.Message);
        }
    }
}
Private Sub btn_logo_Click(ByVal sender As Object, ByVal e As EventArgs)
	If select_logo.ShowDialog() = DialogResult.OK Then
		Try
			logoBmp = New AnyBitmap(select_logo.FileName)
			selected_logo.Image = Image.FromFile(select_logo.FileName)
		Catch ex As Exception
			ShowError("An error occurred while loading the logo", ex.Message)
		End Try
	End If
End Sub
VB   C#

画像の選択に成功すると、アプリケーションはその画像を読み込み、プレビューを表示しようとします。 AnyBitmapオブジェクトのlogoBmpには、選択された画像が設定され、後のQR生成ロジックで使用されます。

4.6 QRコード生成

生成処理は、btn_generate_Clickメソッドにリンクされている「生成」ボタンをユーザーがクリックしたときに始まります。 このメソッドはトリガーとして動作し、実際の生成ロジックが存在するGenerateQRCode関数を呼び出します。

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-code-generator-application-12.cs
private void btn_generate_Click(object sender, EventArgs e)
{
    GenerateQRCode();
}
Private Sub btn_generate_Click(ByVal sender As Object, ByVal e As EventArgs)
	GenerateQRCode()
End Sub
VB   C#

GenerateQRCodeメソッド内で、アプリケーションは入力テキストやスタイル・オプションなど、指定されたパラメータに基づいてQRコードを作成します。 このメソッドは、QRコードの作成をカプセル化し、選択された色、寸法、余白、そしてオプションでロゴを適用する。

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-code-generator-application-13.cs
private void GenerateQRCode()
{
    try
    {
        var options = new QrOptions(QrErrorCorrectionLevel.High);
        var myQr = QrWriter.Write(txt_QR.Text, options);
        var style = CreateStyleOptions();
        var qrImage = myQr.Save(style);
        var fileName = $"{DateTime.Now:yyyyMMddHHmmssfff}_QR.png";
        var fullPath = System.IO.Path.Combine(qrCodesDirectory, fileName);
        qrImage.SaveAs(fullPath);
        pictureBox.Image = Image.FromFile(fullPath);
    }
    catch (Exception ex)
    {
        ShowError("An error occurred during QR code generation or saving", ex.Message);
    }
}
Private Sub GenerateQRCode()
	Try
		Dim options = New QrOptions(QrErrorCorrectionLevel.High)
		Dim myQr = QrWriter.Write(txt_QR.Text, options)
		Dim style = CreateStyleOptions()
		Dim qrImage = myQr.Save(style)
		Dim fileName = $"{DateTime.Now:yyyyMMddHHmmssfff}_QR.png"
		Dim fullPath = System.IO.Path.Combine(qrCodesDirectory, fileName)
		qrImage.SaveAs(fullPath)
		pictureBox.Image = Image.FromFile(fullPath)
	Catch ex As Exception
		ShowError("An error occurred during QR code generation or saving", ex.Message)
	End Try
End Sub
VB   C#

QrOptionsオブジェクトはエラー訂正レベルを定義し、QRコードの損傷や不明瞭さに対する耐性を高めます。 CreateStyleOptionsメソッドはQrStyleOptionsオブジェクトを生成します。このオブジェクトには、色、寸法、ロゴなどのユーザーのカスタム設定が含まれます。 その方法を詳しく説明しよう:

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-code-generator-application-14.cs
private QrStyleOptions CreateStyleOptions()
{
    return new QrStyleOptions
    {
        BackgroundColor = bgColor,
        Color = color,
        Dimensions = txt_dimension.Value > 0 ? Convert.ToInt32(txt_dimension.Value) : throw new ArgumentException("Please select valid dimensions!"),
        Margins = Convert.ToInt32(txt_margin.Value),
        Logo = logoBmp != null ? new QrLogo { Bitmap = logoBmp, Width = 50, Height = 50, CornerRadius = 5 } : null
    };
}
Private Function CreateStyleOptions() As QrStyleOptions
'INSTANT VB TODO TASK: Throw expressions are not converted by Instant VB:
'ORIGINAL LINE: return new QrStyleOptions { BackgroundColor = bgColor, Color = color, Dimensions = txt_dimension.Value > 0 ? Convert.ToInt32(txt_dimension.Value) : throw new ArgumentException("Please select valid dimensions!"), Margins = Convert.ToInt32(txt_margin.Value), Logo = logoBmp != null ? new QrLogo { Bitmap = logoBmp, Width = 50, Height = 50, CornerRadius = 5 } : null };
	Return New QrStyleOptions With {
		.BackgroundColor = bgColor,
		.Color = color,
		.Dimensions = If(txt_dimension.Value > 0, Convert.ToInt32(txt_dimension.Value), throw New ArgumentException("Please select valid dimensions!")),
		.Margins = Convert.ToInt32(txt_margin.Value),
		.Logo = If(logoBmp IsNot Nothing, New QrLogo With {
			.Bitmap = logoBmp,
			.Width = 50,
			.Height = 50,
			.CornerRadius = 5
		}, Nothing)
	}
End Function
VB   C#

このメソッドはQrStyleOptionsオブジェクトを作成し、QRコード生成ロジックがこのオブジェクトを使用してユーザーの好みを適用します。 オプションは以下の通り:

  • BackgroundColorとColor:これらのプロパティは、QRコードの背景色と前景色を設定します。
  • 寸法:このプロパティはQRコードのサイズを決定し、QRコードが異なるコンテキストや媒体にどのように適合するかを柔軟に提供します。
  • マージン:このプロパティは、QRコードの周囲のマージンサイズを設定し、QRコードが周囲の要素から分離されていることを保証します。
  • ロゴ:ユーザーがロゴを含めることを選択した場合、それは洗練された外観のために特定の寸法と角の半径でここに設定されます。

4.7 QRコードの保存

保存機能は、btn_save_Clickメソッドにリンクされた "Save "ボタンによってトリガーされます。 このメソッドは、保存ロジックを実装するSaveQRCodeを呼び出します。 このプロセスには、ファイル保存ダイアログを表示し、ユーザーがQRコードを保存するファイル形式と保存場所を選択できるようにすることも含まれます。

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-code-generator-application-15.cs
private void btn_save_Click(object sender, EventArgs e)
{
    SaveQRCode();
}

private void SaveQRCode()
{
    if (pictureBox.Image == null)
    {
        MessageBox.Show("There is no QR code to save.", "Error");
        return;
    }

    saveFileDialog.Filter = "PNG Files|*.png|JPEG Files|*.jpg";
    saveFileDialog.Title = "Save QR Code";
    saveFileDialog.FileName = "QRCode";

    if (saveFileDialog.ShowDialog() == DialogResult.OK)
    {
        try
        {
            pictureBox.Image.Save(saveFileDialog.FileName, DetermineImageFormat(saveFileDialog.FileName));
            MessageBox.Show("QR Code has been saved!", "Success");
        }
        catch (Exception ex)
        {
            ShowError("An error occurred while saving the QR code", ex.Message);
        }
    }
}
Private Sub btn_save_Click(ByVal sender As Object, ByVal e As EventArgs)
	SaveQRCode()
End Sub

Private Sub SaveQRCode()
	If pictureBox.Image Is Nothing Then
		MessageBox.Show("There is no QR code to save.", "Error")
		Return
	End If

	saveFileDialog.Filter = "PNG Files|*.png|JPEG Files|*.jpg"
	saveFileDialog.Title = "Save QR Code"
	saveFileDialog.FileName = "QRCode"

	If saveFileDialog.ShowDialog() = DialogResult.OK Then
		Try
			pictureBox.Image.Save(saveFileDialog.FileName, DetermineImageFormat(saveFileDialog.FileName))
			MessageBox.Show("QR Code has been saved!", "Success")
		Catch ex As Exception
			ShowError("An error occurred while saving the QR code", ex.Message)
		End Try
	End If
End Sub
VB   C#

このメソッドは、生成されたQRコードが利用可能かどうかをチェックする。 その場合、PNGまたはJPEG形式でファイルを保存するオプションが表示されます。 DetermineImageFormat関数は、ユーザーが選択したファイル拡張子に基づいて、画像が正しい形式で保存されるようにします。

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-code-generator-application-16.cs
private System.Drawing.Imaging.ImageFormat DetermineImageFormat(string filePath)
{
    return System.IO.Path.GetExtension(filePath).ToLower() == ".jpg" ? System.Drawing.Imaging.ImageFormat.Jpeg : System.Drawing.Imaging.ImageFormat.Png;
}
Private Function DetermineImageFormat(ByVal filePath As String) As System.Drawing.Imaging.ImageFormat
	Return If(System.IO.Path.GetExtension(filePath).ToLower() = ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg, System.Drawing.Imaging.ImageFormat.Png)
End Function
VB   C#

この柔軟性により、ユーザーは、品質を優先するかどうかにかかわらず、ニーズに最も適したフォーマットを選択することができます。 (PNG) またはファイルサイズ (JPEG (ジェイペグ)).

4.8 アプリケーションのリセット

リセット機能は、btn_reset_Clickメソッドを呼び出す「リセット」ボタンにリンクされています。 このメソッドは、次にResetFieldsを呼び出す。ResetFieldsは、すべてのユーザー入力をクリアし、テキスト・フィールド、色の選択、選択されたロゴを含むすべての設定のデフォルト値を復元するように設計された関数である。

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-code-generator-application-17.cs
private void btn_reset_Click(object sender, EventArgs e)
{
    ResetFields();
}

private void ResetFields()
{
    txt_QR.Text = string.Empty;
    txt_dimension.Value = 200;
    txt_margin.Value = 0;
    bgColor = Color.White;
    color = Color.Black;
    txt_selected_color.BackColor = System.Drawing.Color.White;
    txt_selected_bgcolor.BackColor = System.Drawing.Color.Black;
    logoBmp = null;
    selected_logo.Image = null;
    pictureBox.Image = null;
}
Private Sub btn_reset_Click(ByVal sender As Object, ByVal e As EventArgs)
	ResetFields()
End Sub

Private Sub ResetFields()
	txt_QR.Text = String.Empty
	txt_dimension.Value = 200
	txt_margin.Value = 0
	bgColor = Color.White
	color = Color.Black
	txt_selected_color.BackColor = System.Drawing.Color.White
	txt_selected_bgcolor.BackColor = System.Drawing.Color.Black
	logoBmp = Nothing
	selected_logo.Image = Nothing
	pictureBox.Image = Nothing
End Sub
VB   C#

この方法は、QRコード生成に関わる各コンポーネントをリセットする。 例えば、QRコードのテキストを消去し、寸法と余白をデフォルト値に設定し、選択した色やロゴを削除します。

4.9 エラー処理

このアプリケーションは、ShowErrorメソッドを使用して、ユーザーフレンドリーな方法でエラーメッセージを表示します。 このメソッドは、タイトルとメッセージという2つのパラメータを取り、ユーザーにエラーに関するコンテキストを提供する。 その方法はこうだ:

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-code-generator-application-18.cs
private static void ShowError(string title, string message)
{
    MessageBox.Show($"{title}: {message}", "Error");
}
Private Shared Sub ShowError(ByVal title As String, ByVal message As String)
	MessageBox.Show($"{title}: {message}", "Error")
End Sub
VB   C#

この方法はアプリケーションのさまざまな部分で利用され、エラーが発生した場合、明確で簡潔なメッセージでユーザーに速やかに通知されるようになっている。 例えば、ロゴの読み込み中やQRコードの生成処理中にエラーが発生した場合、アプリケーションはShowErrorを呼び出し、問題の詳細を表示します。

4.10 完全なコード例

以下は、コードをより簡単に理解するのに役立つ完全なコードである:

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-code-generator-application-19.cs
using IronQr;
using IronSoftware.Drawing;
using Color = IronSoftware.Drawing.Color;

namespace IronQR_QR_Generator_WinForms
{
    public partial class QR_Generator : Form
    {
        string qrCodesDirectory = System.IO.Path.Combine(Application.StartupPath, "QR Codes");
        Color bgColor = Color.White;
        Color color = Color.Black;
        AnyBitmap? logoBmp = null;

        public QR_Generator()
        {
            InitializeComponent();
            SetLicenseKey();
            EnsureDirectoryExists(qrCodesDirectory);
        }

        private static void SetLicenseKey()
        {
            IronQr.License.LicenseKey = "License-Key";
        }

        private static void EnsureDirectoryExists(string path)
        {
            if (!System.IO.Directory.Exists(path))
            {
                System.IO.Directory.CreateDirectory(path);
            }
        }

        private void btn_color_Click(object sender, EventArgs e)
        {
            UpdateColor(ref color, txt_selected_color, false);
        }

        private void btn_background_Click(object sender, EventArgs e)
        {
            UpdateColor(ref bgColor, txt_selected_bgcolor, true);
        }

        private string ColorToHex(System.Drawing.Color color)
        {
            return $"#{color.R:X2}{color.G:X2}{color.B:X2}";
        }
        private void UpdateColor(ref Color targetColor, Control display, bool isBackground)
        {
            if (select_color.ShowDialog() == DialogResult.OK)
            {

                var hexColor = ColorToHex(select_color.Color);
                targetColor = new Color(hexColor);
                display.BackColor = select_color.Color;
            }
        }

        private void btn_logo_Click(object sender, EventArgs e)
        {
            if (select_logo.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    logoBmp = new AnyBitmap(select_logo.FileName);
                    selected_logo.Image = Image.FromFile(select_logo.FileName);
                }
                catch (Exception ex)
                {
                    ShowError("An error occurred while loading the logo", ex.Message);
                }
            }
        }

        private void btn_generate_Click(object sender, EventArgs e)
        {
            GenerateQRCode();
        }

        private void GenerateQRCode()
        {
            try
            {
                var options = new QrOptions(QrErrorCorrectionLevel.High);
                var myQr = QrWriter.Write(txt_QR.Text, options);
                var style = CreateStyleOptions();
                var qrImage = myQr.Save(style);
                var fileName = $"{DateTime.Now:yyyyMMddHHmmssfff}_QR.png";
                var fullPath = System.IO.Path.Combine(qrCodesDirectory, fileName);
                qrImage.SaveAs(fullPath);
                pictureBox.Image = Image.FromFile(fullPath);
            }
            catch (Exception ex)
            {
                ShowError("An error occurred during QR code generation or saving", ex.Message);
            }
        }

        private QrStyleOptions CreateStyleOptions()
        {
            return new QrStyleOptions
            {
                BackgroundColor = bgColor,
                Color = color,
                Dimensions = txt_dimension.Value > 0 ? Convert.ToInt32(txt_dimension.Value) : throw new ArgumentException("Please select valid dimensions!"),
                Margins = Convert.ToInt32(txt_margin.Value),
                Logo = logoBmp != null ? new QrLogo { Bitmap = logoBmp, Width = 50, Height = 50, CornerRadius = 5 } : null
            };
        }

        private void btn_save_Click(object sender, EventArgs e)
        {
            SaveQRCode();
        }

        private void SaveQRCode()
        {
            if (pictureBox.Image == null)
            {
                MessageBox.Show("There is no QR code to save.", "Error");
                return;
            }

            saveFileDialog.Filter = "PNG Files|*.png|JPEG Files|*.jpg";
            saveFileDialog.Title = "Save QR Code";
            saveFileDialog.FileName = "QRCode";

            if (saveFileDialog.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    pictureBox.Image.Save(saveFileDialog.FileName, DetermineImageFormat(saveFileDialog.FileName));
                    MessageBox.Show("QR Code has been saved!", "Success");
                }
                catch (Exception ex)
                {
                    ShowError("An error occurred while saving the QR code", ex.Message);
                }
            }
        }

        private System.Drawing.Imaging.ImageFormat DetermineImageFormat(string filePath)
        {
            return System.IO.Path.GetExtension(filePath).ToLower() == ".jpg" ? System.Drawing.Imaging.ImageFormat.Jpeg : System.Drawing.Imaging.ImageFormat.Png;
        }

        private void btn_reset_Click(object sender, EventArgs e)
        {
            ResetFields();
        }

        private void ResetFields()
        {
            txt_QR.Text = string.Empty;
            txt_dimension.Value = 200;
            txt_margin.Value = 0;
            bgColor = Color.White;
            color = Color.Black;
            txt_selected_color.BackColor = bgColor;
            txt_selected_bgcolor.BackColor = color;
            logoBmp = null;
            selected_logo.Image = null;
            pictureBox.Image = null;
        }

        private static void ShowError(string title, string message)
        {
            MessageBox.Show($"{title}: {message}", "Error");
        }
    }
}
Imports IronQr
Imports IronSoftware.Drawing
Imports Color = IronSoftware.Drawing.Color

Namespace IronQR_QR_Generator_WinForms
	Partial Public Class QR_Generator
		Inherits Form

		Private qrCodesDirectory As String = System.IO.Path.Combine(Application.StartupPath, "QR Codes")
		Private bgColor As Color = Color.White
		Private color As Color = Color.Black
		Private logoBmp? As AnyBitmap = Nothing

		Public Sub New()
			InitializeComponent()
			SetLicenseKey()
			EnsureDirectoryExists(qrCodesDirectory)
		End Sub

		Private Shared Sub SetLicenseKey()
			IronQr.License.LicenseKey = "License-Key"
		End Sub

		Private Shared Sub EnsureDirectoryExists(ByVal path As String)
			If Not System.IO.Directory.Exists(path) Then
				System.IO.Directory.CreateDirectory(path)
			End If
		End Sub

		Private Sub btn_color_Click(ByVal sender As Object, ByVal e As EventArgs)
			UpdateColor(color, txt_selected_color, False)
		End Sub

		Private Sub btn_background_Click(ByVal sender As Object, ByVal e As EventArgs)
			UpdateColor(bgColor, txt_selected_bgcolor, True)
		End Sub

		Private Function ColorToHex(ByVal color As System.Drawing.Color) As String
			Return $"#{color.R:X2}{color.G:X2}{color.B:X2}"
		End Function
		Private Sub UpdateColor(ByRef targetColor As Color, ByVal display As Control, ByVal isBackground As Boolean)
			If select_color.ShowDialog() = System.Windows.Forms.DialogResult.OK Then

				Dim hexColor = ColorToHex(select_color.Color)
				targetColor = New Color(hexColor)
				display.BackColor = select_color.Color
			End If
		End Sub

		Private Sub btn_logo_Click(ByVal sender As Object, ByVal e As EventArgs)
			If select_logo.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
				Try
					logoBmp = New AnyBitmap(select_logo.FileName)
					selected_logo.Image = Image.FromFile(select_logo.FileName)
				Catch ex As Exception
					ShowError("An error occurred while loading the logo", ex.Message)
				End Try
			End If
		End Sub

		Private Sub btn_generate_Click(ByVal sender As Object, ByVal e As EventArgs)
			GenerateQRCode()
		End Sub

		Private Sub GenerateQRCode()
			Try
				Dim options = New QrOptions(QrErrorCorrectionLevel.High)
				Dim myQr = QrWriter.Write(txt_QR.Text, options)
				Dim style = CreateStyleOptions()
				Dim qrImage = myQr.Save(style)
				Dim fileName = $"{DateTime.Now:yyyyMMddHHmmssfff}_QR.png"
				Dim fullPath = System.IO.Path.Combine(qrCodesDirectory, fileName)
				qrImage.SaveAs(fullPath)
				pictureBox.Image = Image.FromFile(fullPath)
			Catch ex As Exception
				ShowError("An error occurred during QR code generation or saving", ex.Message)
			End Try
		End Sub

		Private Function CreateStyleOptions() As QrStyleOptions
'INSTANT VB TODO TASK: Throw expressions are not converted by Instant VB:
'ORIGINAL LINE: return new QrStyleOptions { BackgroundColor = bgColor, Color = color, Dimensions = txt_dimension.Value > 0 ? Convert.ToInt32(txt_dimension.Value) : throw new ArgumentException("Please select valid dimensions!"), Margins = Convert.ToInt32(txt_margin.Value), Logo = logoBmp != null ? new QrLogo { Bitmap = logoBmp, Width = 50, Height = 50, CornerRadius = 5 } : null };
			Return New QrStyleOptions With {
				.BackgroundColor = bgColor,
				.Color = color,
				.Dimensions = If(txt_dimension.Value > 0, Convert.ToInt32(txt_dimension.Value), throw New ArgumentException("Please select valid dimensions!")),
				.Margins = Convert.ToInt32(txt_margin.Value),
				.Logo = If(logoBmp IsNot Nothing, New QrLogo With {
					.Bitmap = logoBmp,
					.Width = 50,
					.Height = 50,
					.CornerRadius = 5
				}, Nothing)
			}
		End Function

		Private Sub btn_save_Click(ByVal sender As Object, ByVal e As EventArgs)
			SaveQRCode()
		End Sub

		Private Sub SaveQRCode()
			If pictureBox.Image Is Nothing Then
				MessageBox.Show("There is no QR code to save.", "Error")
				Return
			End If

			saveFileDialog.Filter = "PNG Files|*.png|JPEG Files|*.jpg"
			saveFileDialog.Title = "Save QR Code"
			saveFileDialog.FileName = "QRCode"

			If saveFileDialog.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
				Try
					pictureBox.Image.Save(saveFileDialog.FileName, DetermineImageFormat(saveFileDialog.FileName))
					MessageBox.Show("QR Code has been saved!", "Success")
				Catch ex As Exception
					ShowError("An error occurred while saving the QR code", ex.Message)
				End Try
			End If
		End Sub

		Private Function DetermineImageFormat(ByVal filePath As String) As System.Drawing.Imaging.ImageFormat
			Return If(System.IO.Path.GetExtension(filePath).ToLower() = ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg, System.Drawing.Imaging.ImageFormat.Png)
		End Function

		Private Sub btn_reset_Click(ByVal sender As Object, ByVal e As EventArgs)
			ResetFields()
		End Sub

		Private Sub ResetFields()
			txt_QR.Text = String.Empty
			txt_dimension.Value = 200
			txt_margin.Value = 0
			bgColor = Color.White
			color = Color.Black
			txt_selected_color.BackColor = bgColor
			txt_selected_bgcolor.BackColor = color
			logoBmp = Nothing
			selected_logo.Image = Nothing
			pictureBox.Image = Nothing
		End Sub

		Private Shared Sub ShowError(ByVal title As String, ByVal message As String)
			MessageBox.Show($"{title}: {message}", "Error")
		End Sub
	End Class
End Namespace
VB   C#

ステップ5:アプリケーションの実行

アプリケーションが実行されると、提供された画像に示されているようにメイン・ウィンドウが表示されます。 レイアウトは、入力、スタイリング、出力、アクションの各セクションにきちんと整理されている。

アプリケーション出力

最初のステップでは、"Input QR Text "フィールドにデータを入力する。 このデータは、URLやテキスト情報など、QRコードのコンテンツを形成する。 次に、QRコードをパーソナライズするために、「ロゴを選択」ボタンをクリックしてロゴを選択します。 ロゴを選択すると、ボタンに隣接するプレビューボックスにロゴが表示され、QRコードのデザインに組み込まれていることが確認できます。

ロゴ

ロゴの選択に続いて、QRコードの前景色と背景色を選択します。 各ボタンをクリックすると、選択した色が各ボタンの横にある色表示ボックスに反映され、選択した色がすぐに視覚的に確認できる。

カラーセレクター

この特定のQRコードでは、寸法を500に設定し、コードがニーズに適したサイズになるようにし、余白を20に調整してQRコードの周囲にバッファを設け、スキャンの問題を防ぎます。

寸法

すべての入力とスタイリング・オプションの設定が完了したら、「Generate QR」ボタンをクリックしてQRコードを生成します。 アプリケーションは入力を処理し、作成したばかりのQRコードを出力画像ボックスに表示します。

QRコードの読み取り

生成されたQRコードを保存するには、「Save QR」ボタンをクリックします。 この操作で保存ダイアログが開き、QRコード画像の保存先とファイル形式を選択できます。

保存ダイアログ

保存されると、QRコードが正常に保存されたことを示す成功メッセージが表示されます。

サクセス・メッセージ

やり直したり、新しいQRコードを作成する必要がある場合、「フォームをリセット」ボタンをクリックすると、フォームが元の状態に戻り、すべてのフィールドと選択項目がクリアされ、次のQRコード生成の準備が整います。

リセットフォーム

保存されたQRコード(アイアンQR)です:

QRコード出力

結論

最後に、このガイドではC#アプリケーションでアイアンQRライブラリを使用してQRコードを生成する手順を説明しました。 Visual Studioでのプロジェクトのセットアップから、アイアンQRライブラリの統合、ユーザーフレンドリーなインターフェースの設計、バックエンドロジックの記述までのステップを分解することで、アプリケーションにQRコード機能を追加することがいかに身近なものであるかを示しました。

IronQR(アイアンQR)の能力をさらに探求することに興味がある人にとって、IronQRが提供する以下の機能は注目に値する。 無料試用 をご覧いただきたい。 IronQR (アイアンQR)をプロジェクトに統合する場合、ライセンスは$599からで、プロフェッショナルグレードのQRコード生成のための費用対効果の高いソリューションを提供します。