C#で誤り訂正を設定する方法 | IronQR

C#でエラー訂正を設定する方法

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

エラー訂正は、視覚的な欠陥やエンコーディングエラーにもかかわらず、バーコードの読み取り可能性を維持する能力を指します。 これらの損傷は、印刷の不完全さや汚れ、傷、スキャン条件の違いなどにより発生する可能性があります。 エラー訂正は、どのタイプのバーコードエンコーディングが適しているかを決定する主要な要因です。

一般的に、2Dバーコードは1Dバーコードに比べて以下の要因により欠損に対してより高い耐性を持っています。

  • データ容量: 2Dバーコードは、データを水平方向と垂直方向にエンコードするため、1Dバーコードよりもはるかに多くのデータを保存できます。これには、英数字、バイナリデータ、画像などが含まれます。
  • 冗長性: 2Dバーコードは、データエンコードの複数の層を持ち、バーコードの一部が損傷しても残りの無傷のセクションから情報を抽出できます。
  • コンパクトさ: 2Dバーコードはそのコンパクトな形状から限られたスペースに適しています。
  • 柔軟性: 2Dバーコードはさまざまな角度と方向からスキャンできます。

クイックスタート: QRコード作成におけるエラー訂正レベルの使用

この短い例では、IronBarcodeを使用してエラー訂正レベルを中程度に設定したQRコードを簡単に生成できる方法を示します。 開発者は、CreateQrCodeメソッドを使用してサイズ、コンテンツ、エラー訂正レベルを指定することにより、数秒で稼働させることができます。

Nuget Icon今すぐ NuGet で PDF を作成してみましょう:

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

    PM > Install-Package BarCode

  2. このコード スニペットをコピーして実行します。

    var qr = IronBarCode.QRCodeWriter.CreateQrCode("https://ironsoftware.com", 500, IronBarCode.QRCodeWriter.QrErrorCorrectionLevel.Medium).SaveAsPng("qr.png");
  3. 実際の環境でテストするためにデプロイする

    今すぐ無料トライアルでプロジェクトに IronBarcode を使い始めましょう
    arrow pointer


QRコードのエラー訂正を調整する例

現在、IronBarcodeはQRコードMicro QR、およびrMQRのエラー訂正を設定することができます。 QRコードの標準で指定されている4つのプリセットエラー訂正レベルをすべてサポートしています。 エラー訂正レベルは、QRCodeWriter.CreateQrCodeメソッド内のQrErrorCorrectionパラメーターを介して調整されます。 エラー訂正の4つのレベルは以下の通りです。

  • 最上: レベルH。 データの最大30%まで回復可能です。
  • : レベルQ。 データの最大25%まで回復可能です。
  • : レベルM。 データの最大15%まで回復可能です。
  • : レベルL。 データの最大7%まで回復可能です。

より高いエラー訂正レベルは、より複雑なQRコード画像をもたらし、QRコード生成時に視覚的な明瞭さとエラー訂正のバランスを取る必要があります。 以下のコードサンプルはエラー訂正の設定を示しています。

:path=/static-assets/barcode/content-code-examples/how-to/set-error-correction.cs
// Import the necessary namespace for barcode generation
using IronBarCode;

// Create a QR code with the specified URL, size, and error correction level
GeneratedBarcode mediumCorrection = QRCodeWriter.CreateQrCode(
    "https://ironsoftware.com/csharp/barcode/", // URL to be encoded in the QR code
    500,                                       // Size of the QR code (500x500 pixels)
    QRCodeWriter.QrErrorCorrectionLevel.Medium // Error correction level to handle distortions
);

// Save the generated QR code image as a PNG file with the specified filename
mediumCorrection.SaveAsPng("mediumCorrection.png");
' Import the necessary namespace for barcode generation
Imports IronBarCode

' Create a QR code with the specified URL, size, and error correction level
Private mediumCorrection As GeneratedBarcode = QRCodeWriter.CreateQrCode("https://ironsoftware.com/csharp/barcode/", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium)

' Save the generated QR code image as a PNG file with the specified filename
mediumCorrection.SaveAsPng("mediumCorrection.png")
$vbLabelText   $csharpLabel

エラー訂正の比較

以下は同じ値を表すがエラー訂正レベルが異なるQRコード画像のサンプルセットです。 観察されたように、より高いエラー訂正レベルは、より複雑なQRコード画像をもたらし、より高い耐障害性を提供します。

最高のエラー訂正
高いエラー訂正能力
中程度の誤り訂正
低いエラー訂正

よくある質問

バーコードにおけるエラー訂正とは何か、なぜ重要なのか?

バーコードのエラー訂正は、汚れやキズなどの視覚的欠陥やエンコードエラーにかかわらず、可読性を維持する能力です。この機能は、バーコードアプリケーションのデータの正確性と信頼性を確保するために重要です。

2Dバーコードはエラー訂正に関して1Dバーコードとどう違うのか?

2Dバーコードはより高いデータ容量、冗長性、コンパクトさ、柔軟性があるため、1Dバーコードと異なります。これにより、2Dバーコードは損傷に対する耐性が高まり、さまざまな角度から読み取りやすくなり、エラー訂正の能力を向上させます。

C#でQRコードのエラー訂正レベルを設定するにはどうすればよいですか?

C#でQRコードのエラー訂正レベルを設定するには、IronBarcodeライブラリを使用します。ライブラリをダウンロードし、QRCodeWriterクラスを使用して、希望のエラー訂正レベルを設定するためにQrErrorCorrectionパラメータを調整します。

QRコードのための利用可能なエラー訂正レベルは何ですか?

QRコードは、最高(レベルH、30%のデータ復旧)、高(レベルQ、25%のデータ復旧)、中(レベルM、15%のデータ復旧)、低(レベルL、7%のデータ復旧)の4つのエラー訂正レベルをサポートしています。これらのレベルは、QRコードが損傷した際にどれだけのデータが回復できるかを決定します。

エラー訂正レベルの修正がQRコードの外観にどのように影響するのか?

エラー訂正レベルの修正はQRコードの複雑さに影響を与えます。高いエラー訂正レベルは、視覚的な明瞭さとデータ復旧能力のバランスを取りながら、より複雑な画像を生み出します。

C#で特定のエラー訂正を持つQRコードを作成する際に使用される方法は何ですか?

C#では、特定のエラー訂正レベルを持つQRコードを生成するために、QRCodeWriter.CreateQrCodeメソッドを使用します。QrErrorCorrectionパラメータを調整して指定します。

このライブラリを使用してQRコード以外のバーコードタイプにエラー訂正を適用できますか?

はい、IronBarcodeライブラリはQRコードに加えて、Micro QRやrMQRなどの他のバーコードタイプでもエラー訂正をサポートしています。

エラー訂正がバーコードのデータ容量に与える影響は何ですか?

高いエラー訂正レベルは、エラー訂正データの保存により多くのスペースを使用するため、実際のデータに利用可能なスペースを減少させ、バーコードのデータ容量を低下させます。

Hairil Hasyimi Bin Omar
ソフトウェアエンジニア
すべての優れたエンジニアのように、ハイリルは熱心な学習者です。彼はC#、Python、Javaの知識を磨き、その知識を活用してIron Softwareのチームメンバーに価値を追加しています。ハイリルはマレーシアのマラ工科大学からIron Softwareのチームに参加し、化学およびプロセス工学の学士号を取得しました。
準備はできましたか?
Nuget ダウンロード 1,979,979 | Version: 2025.11 リリース