qrコード 生成のエラー訂正レベルの設定方法
パフォーマンスの制御を行います。 エラー訂正設定を調整して、損傷に耐えても信頼性を持つ、より迅速で耐久性のあるQRコードを作成します。
エラー訂正は、機能しなくなるQRコードを機能し続けるQRコードから区別するものです。 印刷されたラベルが傷つく、ステッカーが剥がれる、ポスターが太陽の下で色褪せるとき、エラー訂正はコードがまだスキャン可能かどうかを判断します。 IronQRは開発者がQRコードの耐久性を正確に選択できるようにします。軽量のデジタルディスプレイに最適化されたコードから、倉庫や工場の床に耐えられる頑丈なコードまで。
このガイドでは、IronQRライブラリを使用してエラー訂正レベルを構成する方法を示し、あらゆる使用ケースに対してデータ密度と損傷耐性のバランスを取ります。 QRコード生成に不慣れな開発者は、まずQRコードを画像として作成するガイドを参照してください。
クイックスタート: QRコードエラー訂正を設定する
QrOptionsを通じてエラー訂正レベルを構成し、耐久性のあるQRコードを生成します。
最小限のワークフロー(5ステップ)
- エラー訂正付きQRコードを生成するためにIronQR C#ライブラリをダウンロードします
ErrorCorrectionLevelを選択してQrOptionsオブジェクトを作成します- そのオプションを使用して
QrWriter.Write()でQRコードを生成します Save()でQRコードをビットマップとして保存しますSaveAs()でそのビットマップを画像ファイルとしてエクスポートします
エラー訂正レベルの理解
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")
出力
エラー訂正レベルの比較
各レベルは視覚的に異なる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")
{i:(高いエラー訂正レベルはQRコードのモジュール数を増やし、パターンをより密集させます。 スキャン速度が優先される場合は、プロジェクトの耐久性要件を満たす最も低いレベルを推奨します。)}
出力
低(約7%の回復)
中(約15%の回復)
高(約25%の回復)
最高(約30%の回復)
使用ケースに適したレベルの選択
適切なエラー訂正レベルは、QRコードがどこに配置され、そのコードが何を耐える必要があるかに依存します:
| 使用例 | レベル | なぜ | 関連ガイド |
|---|---|---|---|
| デジタルディスプレイとウェブサイト | QrErrorCorrectionLevel.Low |
スクリーンは清潔で、照明は管理されており、物理的な磨耗はありません。 コードをシンプルでスキャンを迅速に保持します。 | QRコードを画像として作成 |
| 名刺、チラシ、屋内サイネージ | QrErrorCorrectionLevel.Medium |
軽い取り扱いや軽い折り曲げではスキャンに影響はありません。 最良の結果を得るために適切な余白をペアリングします。 | QRコードに余白を追加する |
| 商品パッケージと屋外ポスター | QrErrorCorrectionLevel.High |
材料は雨、紫外線照射、出荷中の粗い取り扱いに直面します。 遠距離スキャン用にサイズを拡大します。 | QRコードをリサイズする |
| 倉庫ラベル、工場の床、および産業用タグ | QrErrorCorrectionLevel.Highest |
コードが傷ついたり、汚れたり、一部が覆われたりする厳しい環境です。 最大の冗長性がそれらを機能させ続けます。 | 画像からQRコードを読む |
より高度なQRコード生成パターンのためには、C# QRコードジェネレータのチュートリアルおよび完全なIronQRの機能セットを参照してください。

