QR 코드 생성 시 오류 수정 레벨 설정 방법
성능을 제어하십시오. 오류 수정 설정을 조정하여 손상도 견디고 여전히 신뢰할 수 있게 스캔할 수 있는 더 빠르고 내구성 있는 QR 코드를 생성하십시오.
오류 수정이 비효율적으로 작동하는 QR 코드와 계속 작동하는 코드를 구별합니다. 인쇄된 라벨이 긁히거나 스티커가 벗겨지거나 포스터가 햇빛에 흐려질 때, 오류 수정이 코드를 여전히 스캔할 수 있는지 결정합니다. IronQR은 개발자에게 QR 코드가 얼마나 많은 탄력성을 가질 수 있는지를 정확히 선택할 수 있게 해줍니다. 이는 깨끗한 디지털 디스플레이에 최적화된 경량 코드부터 창고 및 공장 바닥을 살아남기 위해 만들어진 중장비 코드까지 다양합니다.
이 가이드는 IronQR 라이브러리를 사용하여 데이터 밀도를 손상 내성에 대해 균형을 맞추는 여러 사용 사례의 오류 수정 레벨을 설정하는 방법을 시연합니다. QR 코드를 생성하는 데 처음인 개발자는 이미지로 QR 코드 생성 가이드부터 시작해야 합니다.
빠른 시작: QR 코드 오류 수정 설정
오류 수정 수준은 QrOptions을 통해 구성하고 회복력 있는 QR 코드를 생성합니다.
-
NuGet 패키지 관리자를 사용하여 https://www.nuget.org/packages/IronQR 설치하기
PM > Install-Package IronQR -
다음 코드 조각을 복사하여 실행하세요.
var options = new QrOptions(QrErrorCorrectionLevel.Medium); var qrCode = QrWriter.Write("https://example.com", options); qrCode.Save().SaveAs("qr-medium.png"); -
실제 운영 환경에서 테스트할 수 있도록 배포하세요.
무료 체험판으로 오늘 프로젝트에서 IronQR 사용 시작하기
- 오류 수정을 사용하여 QR 코드를 생성하기 위한 IronQR C# 라이브러리 다운로드
- `QrOptions` 객체를 선택한 `ErrorCorrectionLevel`과 함께 생성하세요.
- 이 옵션을 사용하여 `QrWriter.Write()`로 QR 코드를 생성하세요.
- `Save()`로 QR 코드를 비트맵으로 저장하세요.
- `SaveAs()`로 비트맵을 이미지 파일로 내보내세요.
오류 수정 레벨 이해하기
QR 코드는 Reed-Solomon 오류 수정을 사용하여 부분적으로 손상되거나 가려져도 스캔할 수 있도록 합니다. IronQR의 QrErrorCorrectionLevel 열거형은 네 가지 수준을 제공하며, 각각은 데이터 용량을 희생하고 내구성을 높입니다:
| 수준 | 복구 용량 | 최적 대상 |
|---|---|---|
QrErrorCorrectionLevel.Low |
약 7% 손상 | 디지털 화면, 통제된 환경 |
QrErrorCorrectionLevel.Medium |
약 15% 손상 | 일반적인 목적의 사용, 중간 내구성 |
QrErrorCorrectionLevel.High |
~25% 손상 | 인쇄된 자료, 실외 간판 |
QrErrorCorrectionLevel.Highest |
~30% 손상 | 산업용 라벨, 가혹한 조건 |
더 높은 오류 정정은 더 많은 중복 모듈을 추가하여 QR 코드의 시각적 밀도를 증가시킵니다. 이는 생성된 이미지의 크기에도 영향을 미치므로 개발자가 이에 따라 치수를 조정해야 할 수 있습니다. 내구성 요구를 충족하는 가장 낮은 수준은 코드를 압축하고 스캔 속도를 빠르게 유지합니다.
오류 정정 수준 설정
오류 수정 수준을 설정하려면 원하는 QrErrorCorrectionLevel 값을 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")
산출
낮음 (~7% 복구)
중간 (~15% 복구)
높음 (~25% 복구)
최고 (~30% 복구)
사용 사례에 적합한 수준 선택
적절한 오류 정정 수준은 QR 코드가 어디에 위치하며 무엇을 견뎌야 하는지에 따라 다릅니다:
| 사용 사례 | 수준 | 왜 | 관련 가이드 |
|---|---|---|---|
| 디지털 디스플레이와 웹사이트 | QrErrorCorrectionLevel.Low |
화면이 깨끗하고 조명이 통제되며 물리적 손상이 없습니다. 코드를 간단하게 유지하여 빠르게 스캔됩니다. | 이미지로 QR 코드 만들기 |
| 명함, 전단지 및 실내 간판 | QrErrorCorrectionLevel.Medium |
가벼운 취급과 약간의 구김이 스캔에 영향을 미치지 않습니다. 적절한 여백과 함께 사용하여 최상의 결과를 얻습니다. | QR 코드에 여백 추가 |
| 제품 포장 및 실외 포스터 | QrErrorCorrectionLevel.High |
자료는 비, 자외선 노출 및 배송 시 거친 취급을 견뎌야 합니다. 거리 스캔을 위해 크기를 조정하십시오. | QR 코드 크기 조정 |
| 창고 라벨, 공장 바닥 및 산업 태그 | QrErrorCorrectionLevel.Highest |
코딩이 긁히거나 얼룩지거나 부분적으로 덮이는 가혹한 환경. 최대 중복성이 작동을 유지합니다. | 이미지에서 QR 코드 읽기 |
보다 고급 QR 코드 생성 패턴을 위해서 C# QR 코드 생성기 튜토리얼과 전체 IronQR 기능 세트를 탐색해 보세요.

