フッターコンテンツにスキップ
IRONQRの使用

QRコード.NET Coreジェネレーター&リーダー|IronQR

適切なライブラリを選択すれば、 .NET Coreで QR コード ジェネレーターを作成するのは簡単です。 QRコードジェネレータの要件を評価する際、開発者は使いやすさとオプションの高度な機能のバランスを求めます。 ASP.NET Core Webアプリケーションやコンソールツールの構築にかかわらず、開発者は、基本的なQRコードの作成から高度なカスタマイズまで、すべてを処理する信頼性の高いライブラリを必要としています。

IronQRは.NET Core用の強力なソリューションで、文字列、URL、日本語Unicodeテキストのエンコーディングをサポートします。 最初はQRCoderライブラリ(寛容なMITライセンスで知られる)のような.NETオープンソースライブラリを探す人もいるかもしれませんが、IronQRは機械学習機能と専用サポートを備えたエンタープライズグレードの代替を提供します。

このチュートリアルでは、.NET Coreプロジェクト内でQRコードを生成し、エラー訂正レベルを設定し、機械学習による検出を使用して既存のコードを読み取る方法を示します。

無料トライアルで今すぐIronQRを使い始める

今IronQRを始めましょう。
green arrow pointer

どのように.NET CoreでQRコードライブラリをインストールしますか?

まず、Visual Studioを開き、作成ボタンをクリックして新しいプロジェクトを開始します。 プロジェクト名を割り当てたら、NuGetパッケージマネージャを通じてライブラリをインストールするのに数秒かかります。 QRCoder NuGetパッケージを検索する開発者もいるかもしれませんが、パッケージマネージャーコンソールで以下のコマンドを実行することで、IronQRフレームワークをインストールすることができます:

Install-Package IronQR

あるいは、NuGet Package Manager UIで "IronQR "を検索し、インストールボタンをクリックしてください。 このライブラリは、.NET Core 3.x、.NET 5、6、7、8、9、10と互換性のある.NET実装を提供し、最新のWeb開発やマルチプラットフォームのプロジェクトに最適です。

インストール後、ファイルの先頭に必要な using ディレクティブを追加してください。IronQRはクロスプラットフォームの画像処理のために IronSoftware.Drawing と統合されているため、 .NET 6 以降ではクロスプラットフォームでの使用が非推奨となった System.Drawing.Common などのプラットフォーム固有の依存関係が不要になります。

インストールが成功したかどうかを確認するには、.csproj ファイルでプロジェクトのパッケージ参照を確認するか、パッケージ マネージャー コンソールの出力にNuGetパッケージが表示されていることを確認します。 インストールすると、 IronQR API リファレンスがすぐに利用できるようになります。

QRコードはどのように生成しますか?

便利な拡張メソッドと一緒に使用されることが多いQrWriter クラスを使用すると、QR コードを簡単に生成できます。 以下は、最上位レベルのステートメントを使用してわずか数行のコードで QR コードを生成する完全な例のソース コードです。

using IronQr;
using IronSoftware.Drawing;

// Generate a QR code from input text
QrCode qrcode = QrWriter.Write("https://ironsoftware.com");

// Save as PNG image
AnyBitmap qrImage = qrcode.Save();
qrImage.SaveAs("website-qr.png");
using IronQr;
using IronSoftware.Drawing;

// Generate a QR code from input text
QrCode qrcode = QrWriter.Write("https://ironsoftware.com");

// Save as PNG image
AnyBitmap qrImage = qrcode.Save();
qrImage.SaveAs("website-qr.png");
$vbLabelText   $csharpLabel

出力

QR コード ジェネレーター.NET Core: C# でクイック レスポンス コードを作成して読み取る: 画像 1 - URL から作成された QR

QrWriter.Write() メソッドは、データを QrCodeData に処理します。これには、QR シンボルの生のモジュール (白黒の四角形) が含まれます。 IronQRは入力テキストが数値データ、英数字テキスト文字列、バイト配列のために効率的にエンコードされるように、内部のペイロードジェネレータを使用します。

IronSoftware.DrawingAnyBitmap クラスはクロスプラットフォームの画像保存を提供するため、同じコードを変更せずに Windows、macOS、Linux で動作します。 使用例に応じて、出力を PNG、JPEG、またはその他のサポートされている形式で保存できます。

実際のデモンストレーションについては、基本的な生成ワークフローに加えて追加の構成オプションを示すQR コード生成の例のページを参照してください。

エラー訂正レベルとは何ですか、そしてなぜ重要なのですか?

エラー訂正は、QRシンボルがスキャン可能な状態を維持しながら、どの程度のダメージを受けるかを決定します。 これは、ブランディングと耐久性を可能にするオプションの高度な機能の1つです。 QR コード規格 (ISO/IEC 18004) では、データ容量と回復力をトレードオフする 4 つのレベルのエラー訂正が定義されています。

QRコードのエラー訂正レベルとその使用例
レベル データ復旧 最適な用途
L(低) 約7% きれいなデジタルディスプレイ
M(中) 約15% 汎用用途
Q(四分位数) 約25% 印刷物
H(高) 約30% 過酷な環境、ロゴオーバーレイ

QrOptionsを使用してエラー訂正を構成します。

using IronQr;
using IronSoftware.Drawing;

// Configure with high error correction level
var options = new QrOptions(QrErrorCorrectionレベル.High, 20);

// Generate QR code with options
QrCode qrcode = QrWriter.Write("Product-12345", options);
AnyBitmap qrImage = qrcode.Save();
qrImage.SaveAs("product-qr.png");
using IronQr;
using IronSoftware.Drawing;

// Configure with high error correction level
var options = new QrOptions(QrErrorCorrectionレベル.High, 20);

// Generate QR code with options
QrCode qrcode = QrWriter.Write("Product-12345", options);
AnyBitmap qrImage = qrcode.Save();
qrImage.SaveAs("product-qr.png");
$vbLabelText   $csharpLabel

QR出力

QR コード ジェネレーター.NET Core: C# でクイック レスポンス コードを作成して読み取る: 画像 2 - エラー修正された QR コードが生成されました

2番目のパラメータは、QRコードのサイズとデータ容量を制御するために、許容される最大バージョン番号を指定します。 ロゴ画像を追加する場合、または物理的な摩耗のシナリオでは、より高いエラー修正が不可欠です。

QR コードにロゴを重ねる場合は、常にレベル H を使用してください。 追加の冗長性により、ロゴによって隠されたモジュールが補われ、コードのスキャン可能性が維持されます。 IronQRエラー修正ドキュメントでは、バージョン選択がデータ容量および修正レベルとどのように相互作用するかについて説明します。

ロゴと色を使ってQRコードの外観をカスタマイズするには?

IronQR のQrStyleOptions を使用すると、カスタム カラー、寸法、埋め込みロゴを使用してブランドに合わせた QR コードを生成できます。 これは、視覚的な一貫性が重要となるマーケティング資料、製品パッケージ、イベント チケットなどに特に役立ちます。

using IronQr;
using IronSoftware.Drawing;

var styleOptions = new QrStyleOptions
{
    Dimensions = 300,
    Margins = 10,
    Color = Color.DarkBlue,
    Logo = new QrLogo { Bitmap = AnyBitmap.FromFile("company-logo.png") }
};

QrCode qrcode = QrWriter.Write("https://yourcompany.com");
AnyBitmap qrImage = qrcode.Save(styleOptions);
qrImage.SaveAs("branded-qr.png");
using IronQr;
using IronSoftware.Drawing;

var styleOptions = new QrStyleOptions
{
    Dimensions = 300,
    Margins = 10,
    Color = Color.DarkBlue,
    Logo = new QrLogo { Bitmap = AnyBitmap.FromFile("company-logo.png") }
};

QrCode qrcode = QrWriter.Write("https://yourcompany.com");
AnyBitmap qrImage = qrcode.Save(styleOptions);
qrImage.SaveAs("branded-qr.png");
$vbLabelText   $csharpLabel

スタイル付きQRコード

QR コード ジェネレーター.NET Core: C# でクイック レスポンス コードを作成して読み取る: 画像 3 - スタイル設定された QR コード出力

Dimensions プロパティは、出力画像のサイズをピクセル単位で設定します。 Margins プロパティは、スキャナーがシンボルの境界を正しく識別するために必要な QR コードの周囲の空白の境界であるクワイエット ゾーンを制御します。 QR コードのカスタマイズ ガイドでは、背景色やモジュールの形状オプションなどの追加のスタイル設定プロパティについて説明します。

ロゴを埋め込む場合は、QR コードの総面積の 30% 以下にしてください。 このしきい値を超えると、レベル H 補正でも読みやすさが損なわれる可能性があります。 カスタマイズ後に複数の QR スキャナー アプリケーションでテストすることをお勧めします。

どのようにASP.NET CoreでQRコードを生成しますか?

QRコード生成を.NET Coreに統合することは、Model View Controllerパターンに従います。 以下は、アクション メソッドから直接 QR コード イメージを返す HomeController クラスの実装です。

using IronQr;
using IronSoftware.Drawing;
using Microsoft.AspNetCore.Mvc;

namespace Examples
{
    public class HomeController : Controller
    {
        public IActionResult GenerateQR(string content)
        {
            QrCode myQr = QrWriter.Write(content);
            AnyBitmap qrImage = myQr.Save();
            byte[] imageBytes = qrImage.ExportBytes();
            return File(imageBytes, "image/png");
        }
    }
}
using IronQr;
using IronSoftware.Drawing;
using Microsoft.AspNetCore.Mvc;

namespace Examples
{
    public class HomeController : Controller
    {
        public IActionResult GenerateQR(string content)
        {
            QrCode myQr = QrWriter.Write(content);
            AnyBitmap qrImage = myQr.Save();
            byte[] imageBytes = qrImage.ExportBytes();
            return File(imageBytes, "image/png");
        }
    }
}
$vbLabelText   $csharpLabel

このエンドポイントは、QRコードデータをパラメータとして受け取り、生成されたPNG画像を直接返します。 このアプローチは、 ASP.NET Core Web API プロジェクトとRazorビューの両方で機能します。

運用ASP.NET Coreアプリケーションでは、CPU オーバーヘッドを削減するために、IMemoryCache または IDistributedCache を使用して頻繁に生成される QR コードをキャッシュすることを検討してください。 静的 URL、製品 ID、またはイベント リンクの QR コードはリクエスト間で変更されないため、キャッシュに最適です。

IronQR を最小限の API エンドポイントに統合することもできます。 ASP.NET Core統合チュートリアルでは、依存性注入パターンやBlazorコンポーネントから QR コード イメージを提供する方法など、完全な例が提供されています。

トップレベルのステートメント パターンを使用して Program.cs に IronQR のライセンス キーを登録すると、スタートアップ構成がクリーンな状態になります。

using IronQr;

IronQr.License.LicenseKey = "YOUR-LICENSE-KEY";
using IronQr;

IronQr.License.LicenseKey = "YOUR-LICENSE-KEY";
$vbLabelText   $csharpLabel

IronQRメソッドを呼び出す前にライセンス キーを設定します。 開発中は、 IronQRライセンス ページから取得した無料トライアル キーを適用できます。

どのように日本語Unicodeテキストをエンコードしますか?

IronQR は、漢字モードによる日本語 Unicode テキストのエンコードをサポートしています。このモードでは、標準エンコードよりも少ないデータ セグメントを使用して、日本語 Unicode 文字を効率的にエンコードします。 これにより、同じコンテンツの QR コードのバージョン (サイズ) が縮小され、より複雑でないシンボルが生成され、スキャン速度が速くなります。

using IronQr;
using IronSoftware.Drawing;

// Generate QR that encodes Japanese Unicode text
QrCode japaneseQr = QrWriter.Write("こんにちは世界");
AnyBitmap qrImage = japaneseQr.Save();
qrImage.SaveAs("japanese-qr.png");
using IronQr;
using IronSoftware.Drawing;

// Generate QR that encodes Japanese Unicode text
QrCode japaneseQr = QrWriter.Write("こんにちは世界");
AnyBitmap qrImage = japaneseQr.Save();
qrImage.SaveAs("japanese-qr.png");
$vbLabelText   $csharpLabel

出力

QR コード ジェネレーター.NET Core: C# でクイック レスポンス コードを作成して読み取る: 画像 4 - 日本語 Unicode テキストでエンコードされた QR コード

ライブラリは、日本語の文字を検出すると自動的に漢字モードを選択し、データ セグメントを手動で構成することなく QR コードのデータ容量を最適化します。 これは、eコマース プラットフォーム、レストラン メニュー、旅行情報キオスクなど、日本語を話すユーザーを対象とするアプリケーションにとって重要です。

漢字モードでは、Shift JIS 文字セットの文字をエンコードします。 アプリケーションが同じ文字列で日本語とラテン語の両方のテキストを処理する場合、 IronQR はモードの切り替えを内部で処理し、各セグメントに最も効率的なエンコードを選択します。 .NETにおける国際化のベスト プラクティスについては、 Microsoft のグローバリゼーション ドキュメントに、文字エンコードに関する役立つコンテキストが提供されています。

機械学習で QR コードを読み取るには?

IronQR は、機械学習を活用した QR リーダーによって他社製品と差別化を図っています。 ML モデルは、角度のある場所や部分的に隠れた画像からでも QR コードを読み取る高い精度を実現します。これは、多くのオープン ソースの代替手段で使用されている従来のしきい値ベースの検出アルゴリズムに比べて大きな利点です。

using IronQr;
using IronSoftware.Drawing;

// Load image containing QR code
AnyBitmap inputBmp = AnyBitmap.FromFile("scanned-document.png");
QrImageInput imageInput = new QrImageInput(inputBmp);

// Read with ML-powered detection
QrReader reader = new QrReader();
IEnumerable<QrResult> results = reader.Read(imageInput);

foreach (var result in results)
{
    Console.WriteLine($"Found: {result.Value}");
}
using IronQr;
using IronSoftware.Drawing;

// Load image containing QR code
AnyBitmap inputBmp = AnyBitmap.FromFile("scanned-document.png");
QrImageInput imageInput = new QrImageInput(inputBmp);

// Read with ML-powered detection
QrReader reader = new QrReader();
IEnumerable<QrResult> results = reader.Read(imageInput);

foreach (var result in results)
{
    Console.WriteLine($"Found: {result.Value}");
}
$vbLabelText   $csharpLabel

QRコード読み取り出力

QR コード ジェネレーター.NET Core: C# でクイック レスポンス コードを作成して読み取る: 画像 5 - QR コードから読み取ったデータ

QrResult オブジェクトには、デコードされた値と位置メタデータが含まれており、これを使用して、UI オーバーレイまたはドキュメント処理パイプラインで検出された QR コード領域を強調表示できます。 この機能により、 IronQR はドキュメント処理および在庫管理システムに最適です。

ML モデルはクラウド API 呼び出しを必要とせず完全にデバイス上で実行されるため、エアギャップ環境やオフライン アプリケーションに適しています。 ZXing .NETなどの従来の CV ベースの検出器は、クリーンな前面コードには適していますが、グレア、回転、損傷などの実際の状況ではうまく機能しないことがよくあります。 IronQR の ML アプローチは、これらのシナリオを確実に処理します。

バッチドキュメント処理では、複数の画像をリーダーに順番に渡し、すべての結果を収集できます。 QR コード読み取りドキュメントでは、静止画像ファイルに加えて、PDF ページやカメラ ストリームからの読み取りについても説明します。

クロスプラットフォーム サポートはどのように機能しますか?

System.Drawing.Common ( .NET 6 以降ではクロスプラットフォームでの使用は非推奨) に依存するソリューションとは異なり、 IronQR は真のマルチプラットフォーム プロジェクトに IronSoftware.Drawing を使用します。 あなたのコードは、Windows、macOS、Linux、iOS、Androidで一貫して動作します。 マルチプラットフォーム プロジェクトの場合、SkiaSharp の代替は不要です。IronQRがプラットフォームの抽象化を内部で処理します。

.NETクロスプラットフォーム ドキュメントでは、 .NET 10 のより広範なプラットフォーム互換性について説明しています。IronQRは、プラットフォーム固有の API を完全に回避することで、これらの原則に準拠しています。

IronQR は次のデプロイメント ターゲットをサポートしています。

  • .NET 10、9、8、7、6 -- すべての最新 for .NETバージョン
  • .NET Core 3.x - 最新 for .NETに移行していないアプリケーション向け
  • Xamarin と MAUI -- モバイルアプリケーション開発用
  • Azure Functions と AWS Lambda -- サーバーレスワークロード向け

Docker コンテナーで実行する場合、標準 for .NETランタイム イメージ以外に追加のシステム パッケージは必要ありません。 これにより、ネイティブ GDI+ 依存関係を必要とするライブラリと比較して、Dockerfile が簡素化されます。 IronQR展開ガイドでは、コンテナ化された環境とクラウド環境の構成について説明します。

IronQR を他 for .NET QR ライブラリと比較するとどうなりますか?

.NET QR コード ライブラリは複数存在し、それぞれに異なるトレードオフがあります。 違いを理解することで、プロジェクトに適したツールを選択するのに役立ちます。

QRCoderは、MIT ライセンスのオープンソース ライブラリです。 単純な QR コード生成には適していますが、QR コードの読み取り機能や機械学習を利用した検出機能は含まれていません。 出力オプションは、IronQR のスタイル付き出力サポートと比較すると制限されています。

ZXing .NETは、Java ZXing ライブラリの C# ポートです。 読み取りと書き込みの両方をサポートしていますが、破損したコードや回転したコードの処理が難しい従来のコンピューター ビジョン技術に依存しています。 クロスプラットフォーム画像処理には追加の設定が必要です。

IronQR は、専用のサポートが含まれるエンタープライズ ライセンスにより、生成と読み取りを 1 つのパッケージで提供します。 ML を活用したリーダー、スタイル設定された出力、および IronSoftware.Drawing の統合により、本番アプリケーション向けのより完全なソリューションが実現します。

詳細な機能比較については、 IronQRと QRCoder の比較IronQRと ZXing の比較の記事をご覧ください。

次のステップは何ですか?

IronQR は、.NET Coreでの QR コードの生成と読み取りのための完全なソリューションを提供します。 複雑なペイロード ジェネレーターと生のモジュールおよび QrCodeData データのアセンブリを自動的に処理することにより、開発サイクルが簡素化されます。 シンプルなオープンソース ライブラリの代替品が必要な場合でも、オプションの高度な機能を備えたシステムが必要な場合でも、IronQR のクロスプラットフォーム アーキテクチャにより、信頼性の高い操作が保証されます。

IronQRを使った構築を続けるには、次のリソースを参照してください。

無料トライアルを開始して、事前の契約なしで IronQR の潜在能力を最大限に引き出しましょう。

よくある質問

.NETコアでIronQRを使ってQRコードを生成するには?

.NET CoreでQRコードを生成するには、基本的なQRコードの作成から高度なカスタマイズ機能まで使いやすいライブラリを提供するIronQRを利用します。

IronQRのQRコード生成にはどのようなカスタマイズオプションがありますか?

IronQRは、エラー訂正レベルの設定やQRコードへのロゴの追加など、様々なカスタマイズオプションを提供し、お客様のご要望にお応えします。

IronQR はASP.NET CoreウェブアプリケーションのQRコード生成を処理できますか?

はい、 IronQRはASP.NET Core Web アプリケーションと完全に互換性があるため、開発者は QR コード生成をプロジェクトに統合できます。

.NET CoreのIronQRでQRコードを読むことは可能ですか?

IronQRは高精度でQRコードを読み取るように設計されており、機械学習技術を活用して正確な検出とデータ抽出を保証します。

IronQRがQRコードジェネレーターを探している開発者に適している理由は何ですか?

IronQRは使いやすさと高度な機能のバランスを提供し、多用途で信頼性の高いQRコードライブラリを必要とする開発者にとって理想的な選択肢です。

IronQRのQRコード処理に高度な機能はありますか?

IronQRには、エラー訂正の設定、ブランディング要素の追加、様々なQRコードフォーマットの処理などの高度な機能が含まれています。

IronQRはどのようにしてQRコードの読み取り精度を確保しているのですか?

IronQRは機械学習アルゴリズムを利用してQRコードの読み取り精度を向上させ、厳しい条件下でも信頼性の高いデータ取得を保証します。

Jordi Bardia
ソフトウェアエンジニア
Jordiは、最も得意な言語がPython、C#、C++であり、Iron Softwareでそのスキルを発揮していない時は、ゲームプログラミングをしています。製品テスト、製品開発、研究の責任を分担し、Jordiは継続的な製品改善において多大な価値を追加しています。この多様な経験は彼を挑戦させ続け、興味を持たせており、Iron Softwareで働くことの好きな側面の一つだと言います。Jordiはフロリダ州マイアミで育ち、フロリダ大学でコンピュータサイエンスと統計学を学びました。

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me