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

QRコードジェネレーター .NET Core:C#でクイックレスポンスコードを作成して読み取る

.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開発やマルチプラットフォームのプロジェクトに最適です。

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

QrWriterクラスは、便利な拡張メソッドと一緒に使用されることが多く、QRコードを非常に簡単に生成できます。 以下は、従来の名前空間とクラス構造を使用して、わずか数行のコードでQRコードを生成する完全な例のソースコードです:

using IronQr;
using IronSoftware.Drawing;
namespace Examples
{
    public class QRCodeGenerator
    {
        public static void Main(string[] args)
        {
            // Generate a QR code from input text
            var qrcode = QrWriter.Write("https://ironsoftware.com");
            // Save as PNG image
            AnyBitmap qrImage = qrcode.Save();
            qrImage.SaveAs("website-qr.png");
        }
    }
}
using IronQr;
using IronSoftware.Drawing;
namespace Examples
{
    public class QRCodeGenerator
    {
        public static void Main(string[] args)
        {
            // Generate a QR code from input text
            var qrcode = QrWriter.Write("https://ironsoftware.com");
            // Save as PNG image
            AnyBitmap qrImage = qrcode.Save();
            qrImage.SaveAs("website-qr.png");
        }
    }
}
Imports IronQr
Imports IronSoftware.Drawing

Namespace Examples
    Public Class QRCodeGenerator
        Public Shared Sub Main(args As String())
            ' Generate a QR code from input text
            Dim qrcode = QrWriter.Write("https://ironsoftware.com")
            ' Save as PNG image
            Dim qrImage As AnyBitmap = qrcode.Save()
            qrImage.SaveAs("website-qr.png")
        End Sub
    End Class
End Namespace
$vbLabelText   $csharpLabel

出力

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

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

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

エラー訂正は、QRシンボルがスキャン可能な状態を維持しながら、どの程度のダメージを受けるかを決定します。 これは、ブランディングと耐久性を可能にするオプションの高度な機能の1つです。

レベル データ復旧 最適
L (低) ~7% クリーンなデジタル表示
M (中級) ~15% 一般的な用途
Q(Quartile) ~25% 印刷物
H (高) ~30% 過酷な環境、ロゴのオーバーレイ

QrOptionsを使用してエラー訂正を設定します:

using IronQr;
// Configure with high error correction level
var options = new QrOptions(QrErrorCorrectionLevel.High, 20);
// Generate QR code with options
var qrcode = QrWriter.Write("Product-12345", options);
AnyBitmap qrImage = qrcode.Save();
qrImage.SaveAs("product-qr.png");
using IronQr;
// Configure with high error correction level
var options = new QrOptions(QrErrorCorrectionLevel.High, 20);
// Generate QR code with options
var qrcode = QrWriter.Write("Product-12345", options);
AnyBitmap qrImage = qrcode.Save();
qrImage.SaveAs("product-qr.png");
Imports IronQr

' Configure with high error correction level
Dim options As New QrOptions(QrErrorCorrectionLevel.High, 20)
' Generate QR code with options
Dim qrcode = QrWriter.Write("Product-12345", options)
Dim qrImage As AnyBitmap = qrcode.Save()
qrImage.SaveAs("product-qr.png")
$vbLabelText   $csharpLabel

QR出力

QR Code Generator .NET Core:C#でクイックレスポンスコードを作成し、読み取る:画像2 - エラー訂正機能付きQRコードの生成

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

ロゴと色を使って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") }
};
var 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") }
};
var qrcode = QrWriter.Write("https://yourcompany.com");
AnyBitmap qrImage = qrcode.Save(styleOptions);
qrImage.SaveAs("branded-qr.png");
Imports IronQr
Imports IronSoftware.Drawing

Dim styleOptions As New QrStyleOptions With {
    .Dimensions = 300,
    .Margins = 10,
    .Color = Color.DarkBlue,
    .Logo = New QrLogo With {.Bitmap = AnyBitmap.FromFile("company-logo.png")}
}

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

スタイル付きQRコード

QR Code Generator .NET Core:C#でクイックレスポンスコードを作成し、読み取る:画像3 - スタイル付きQRコード出力

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

QRコード生成を.NET Coreに統合することは、Model View Controllerパターンに従います。 ここに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");
        }
    }
}
Imports IronQr
Imports IronSoftware.Drawing
Imports Microsoft.AspNetCore.Mvc

Namespace Examples
    Public Class HomeController
        Inherits Controller

        Public Function GenerateQR(content As String) As IActionResult
            Dim myQr As QrCode = QrWriter.Write(content)
            Dim qrImage As AnyBitmap = myQr.Save()
            Dim imageBytes As Byte() = qrImage.ExportBytes()
            Return File(imageBytes, "image/png")
        End Function
    End Class
End Namespace
$vbLabelText   $csharpLabel

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

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

IronQRは漢字モードによる日本語Unicodeテキストのエンコードをサポートしており、標準エンコードよりも少ないデータセグメントで効率的に日本語Unicodeテキストをエンコードします:

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");
Imports IronQr
Imports IronSoftware.Drawing

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

出力

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

このライブラリは、日本語の文字を検出すると自動的に漢字モードを選択し、手動操作やデータセグメントの設定を手動で行うことなく、QRコードのデータ容量を最適化します。

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

IronQRは、機械学習を利用したQRリーダーで他社と一線を画しています。 MLモデルは、斜めからのQRコードの読み取りや、部分的に不明瞭な画像の読み取りでも99.99%の精度を達成しています:

using IronQr;
using IronSoftware.Drawing;
// Load image containing QR code
var 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
var 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}");
}
Imports IronQr
Imports IronSoftware.Drawing

' Load image containing QR code
Dim inputBmp = AnyBitmap.FromFile("scanned-document.png")
Dim imageInput As New QrImageInput(inputBmp)
' Read with ML-powered detection
Dim reader As New QrReader()
Dim results As IEnumerable(Of QrResult) = reader.Read(imageInput)
For Each result In results
    Console.WriteLine($"Found: {result.Value}")
Next
$vbLabelText   $csharpLabel

QRコード読み取り出力

QR Code Generator .NET Core:C#でクイックレスポンスコードを作成し、読み取る:画像5 - QRコードからデータを読み取る

この機能により、IronQRは文書処理や在庫管理に最適です。

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

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

結論

IronQRは.NET CoreのQRコードジェネレーターの全てのニーズに対応する完全なソリューションを提供します。 複雑なペイロード・ジェネレータや、生のモジュールとQrCodeDataデータのアセンブリを自動的に処理することで、開発サイクルを簡素化します。 シンプルな.NETオープンソースライブラリの代替であれ、オプションの高度な機能を備えた堅牢なシステムであれ、IronQRのクロスプラットフォームアーキテクチャは信頼性の高い動作を保証します。

プロジェクトにQRコードを導入する準備はできていますか? 無料トライアルを開始するか、ライセンスオプションを検討することで、IronQRの可能性を最大限に引き出してください。 その他のコード例については、APIドキュメントをご覧ください。

よくある質問

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

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

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

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

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

IronQRはASP.NET Coreウェブアプリケーションと完全に互換性があり、開発者は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はフロリダ州マイアミで育ち、フロリダ大学でコンピュータサイエンスと統計学を学びました。