qrコード 生成のエラー訂正レベルの設定方法

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

パフォーマンスの制御を行います。 エラー訂正設定を調整して、損傷に耐えても信頼性を持つ、より迅速で耐久性のあるQRコードを作成します。

エラー訂正は、機能しなくなるQRコードを機能し続けるQRコードから区別するものです。 印刷されたラベルが傷つく、ステッカーが剥がれる、ポスターが太陽の下で色褪せるとき、エラー訂正はコードがまだスキャン可能かどうかを判断します。 IronQRは開発者がQRコードの耐久性を正確に選択できるようにします。軽量のデジタルディスプレイに最適化されたコードから、倉庫や工場の床に耐えられる頑丈なコードまで。

このガイドでは、IronQRライブラリを使用してエラー訂正レベルを構成する方法を示し、あらゆる使用ケースに対してデータ密度と損傷耐性のバランスを取ります。 QRコード生成に不慣れな開発者は、まずQRコードを画像として作成するガイドを参照してください。

クイックスタート: QRコードエラー訂正を設定する

QrOptionsを通じてエラー訂正レベルを構成し、耐久性のあるQRコードを生成します。

  1. IronQR をNuGetパッケージマネージャでインストール

    PM > Install-Package IronQR
  2. このコード スニペットをコピーして実行します。

    var options = new QrOptions(QrErrorCorrectionLevel.Medium);
    var qrCode = QrWriter.Write("https://example.com", options);
    qrCode.Save().SaveAs("qr-medium.png");
  3. 実際の環境でテストするためにデプロイする

    今日プロジェクトで IronQR を使い始めましょう無料トライアル

    arrow pointer

エラー訂正レベルの理解

QRコードは、部分的に損傷したり隠されたりしてもスキャン可能であるようにリード・ソロモン誤り訂正を使用します。 IronQRのQrErrorCorrectionLevel列挙型は4つのレベルを提供し、各レベルがデータ容量を犠牲にして耐久性を高めます:

レベル 復旧能力 最適
QrErrorCorrectionLevel.Low 約7%の損傷 デジタルスクリーン、管理された環境
QrErrorCorrectionLevel.Medium 約15%の損傷 一般用途、中程度の耐久性
QrErrorCorrectionLevel.High 約25%の損傷 印刷物、屋外の看板
QrErrorCorrectionLevel.Highest 約30%の損傷 産業用ラベル、厳しい条件

高いエラー訂正はより多くの冗長モジュールを追加するため、QRコードの視覚的密度が上がります。 これは生成された画像のサイズにも影響し、開発者はそれに応じて寸法を調整する必要があるかもしれません。 耐久性の要件を満たす最も低いレベルが、コードをコンパクトでスキャンが速いままにします。

エラー訂正レベルの設定

エラー訂正レベルを設定するには、希望するQrOptionsコンストラクタに渡します。 次に、QRコードを生成する際にこれらのオプションをQrWriter.Write()に渡します。

この例では、エラー訂正がミディアムに設定されていて、15%までの損傷データを回復しながらコードをコンパクトに保ちます。

:path=/static-assets/qr/content-code-examples/how-to/error-correction-qr-code.cs
using IronQr;
using IronSoftware.Drawing;

QrOptions options = new QrOptions(QrErrorCorrectionLevel.Medium);

// Create QR code
QrCode qr = QrWriter.Write("1234", options);

// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save();

// Save QR code bitmap as file
qrImage.SaveAs("qrMedium.png");
Imports IronQr
Imports IronSoftware.Drawing

Dim options As New QrOptions(QrErrorCorrectionLevel.Medium)

' Create QR code
Dim qr As QrCode = QrWriter.Write("1234", options)

' Save QR code as a bitmap
Dim qrImage As AnyBitmap = qr.Save()

' Save QR code bitmap as file
qrImage.SaveAs("qrMedium.png")
$vbLabelText   $csharpLabel

出力

ミディアムエラー訂正のQRコード

エラー訂正レベルの比較

各レベルは視覚的に異なるQRコードを生成します。 低いレベルはより単純なパターンを生成し、スキャンが速く、高いレベルはより密集したパターンを生成し、より多くの損傷に耐えます。 以下は、比較のために各レベルで同じデータを生成する方法です:

:path=/static-assets/qr/content-code-examples/how-to/error-correction-qr-code-compare.cs
using IronQr;
using IronSoftware.Drawing;

string data = "https://ironsoftware.com";

// Low - ~7% recovery, smallest code
QrCode qrLow = QrWriter.Write(data, new QrOptions(QrErrorCorrectionLevel.Low));
qrLow.Save().SaveAs("qrLow.png");

// Medium - ~15% recovery, balanced
QrCode qrMedium = QrWriter.Write(data, new QrOptions(QrErrorCorrectionLevel.Medium));
qrMedium.Save().SaveAs("qrMedium.png");

// High - ~25% recovery, durable
QrCode qrHigh = QrWriter.Write(data, new QrOptions(QrErrorCorrectionLevel.High));
qrHigh.Save().SaveAs("qrHigh.png");

// Highest - ~30% recovery, maximum resilience
QrCode qrHighest = QrWriter.Write(data, new QrOptions(QrErrorCorrectionLevel.Highest));
qrHighest.Save().SaveAs("qrHighest.png");
Imports IronQr
Imports IronSoftware.Drawing

Dim data As String = "https://ironsoftware.com"

' Low - ~7% recovery, smallest code
Dim qrLow As QrCode = QrWriter.Write(data, New QrOptions(QrErrorCorrectionLevel.Low))
qrLow.Save().SaveAs("qrLow.png")

' Medium - ~15% recovery, balanced
Dim qrMedium As QrCode = QrWriter.Write(data, New QrOptions(QrErrorCorrectionLevel.Medium))
qrMedium.Save().SaveAs("qrMedium.png")

' High - ~25% recovery, durable
Dim qrHigh As QrCode = QrWriter.Write(data, New QrOptions(QrErrorCorrectionLevel.High))
qrHigh.Save().SaveAs("qrHigh.png")

' Highest - ~30% recovery, maximum resilience
Dim qrHighest As QrCode = QrWriter.Write(data, New QrOptions(QrErrorCorrectionLevel.Highest))
qrHighest.Save().SaveAs("qrHighest.png")
$vbLabelText   $csharpLabel

{i:(高いエラー訂正レベルはQRコードのモジュール数を増やし、パターンをより密集させます。 スキャン速度が優先される場合は、プロジェクトの耐久性要件を満たす最も低いレベルを推奨します。)}

出力

QR Code with Low Error Correction
ミディアムエラー訂正のQRコード
QR Code with High Error Correction
QR Code with Highest Error Correction

使用ケースに適したレベルの選択

適切なエラー訂正レベルは、QRコードがどこに配置され、そのコードが何を耐える必要があるかに依存します:

使用例 レベル なぜ 関連ガイド
デジタルディスプレイとウェブサイト QrErrorCorrectionLevel.Low スクリーンは清潔で、照明は管理されており、物理的な磨耗はありません。 コードをシンプルでスキャンを迅速に保持します。 QRコードを画像として作成
名刺、チラシ、屋内サイネージ QrErrorCorrectionLevel.Medium 軽い取り扱いや軽い折り曲げではスキャンに影響はありません。 最良の結果を得るために適切な余白をペアリングします。 QRコードに余白を追加する
商品パッケージと屋外ポスター QrErrorCorrectionLevel.High 材料は雨、紫外線照射、出荷中の粗い取り扱いに直面します。 遠距離スキャン用にサイズを拡大します。 QRコードをリサイズする
倉庫ラベル、工場の床、および産業用タグ QrErrorCorrectionLevel.Highest コードが傷ついたり、汚れたり、一部が覆われたりする厳しい環境です。 最大の冗長性がそれらを機能させ続けます。 画像からQRコードを読む

より高度なQRコード生成パターンのためには、C# QRコードジェネレータのチュートリアルおよび完全なIronQRの機能セットを参照してください。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
Nuget ダウンロード 63,625 | バージョン: 2026.4 リリース
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package IronQR
サンプルを実行する URL が QR コードになるのを見る。