C#에서 QR 코드 읽기: 인코딩된 값을 추출하는 방법
QR 코드 이미지에서 즉시 디코드된 텍스트를 추출합니다. 애플리케이션에서 표시, 저장 또는 처리할 준비가 된 원시 문자열 값을 얻습니다.
QR 코드의 값을 읽는 것은 모든 스캔 워크플로의 첫 번째 단계입니다. 결제 단말기는 QR 코드에 내장된 거래 ID가 필요합니다. 창고 시스템은 라벨에 있는 제품 참조가 필요합니다. 티켓 검증자는 이벤트 패스에 인쇄된 예약 코드가 필요합니다. IronQR은 이를 간단하게 처리합니다: 이미지를 로드하고, 이를 QrReader에 전달한 후 결과에서 직접 디코딩된 문자열을 읽습니다.
이 가이드는 IronQR 라이브러리를 사용하여 이미지에서 QR 코드 값을 추출하는 방법을 시연합니다. 아직 QR 코드를 생성하지 않은 개발자는 먼저 QR 코드 이미지를 생성하는 방법 가이드를 시작해야 합니다.
빠른 시작: QR 코드 값 읽기
이미지를 로드하고, QrReader로 스캔하여 디코딩된 문자열을 추출하세요.
-
NuGet 패키지 관리자를 사용하여 https://www.nuget.org/packages/IronQR 설치하기
PM > Install-Package IronQR -
다음 코드 조각을 복사하여 실행하세요.
var input = new QrImageInput("qr-code.png"); var results = new QrReader().Read(input); Console.WriteLine(results.First().Value); -
실제 운영 환경에서 테스트할 수 있도록 배포하세요.
무료 체험판으로 오늘 프로젝트에서 IronQR 사용 시작하기
- QR 코드 값을 읽기 위한 IronQR C# 라이브러리 다운로드
- 이미지를 로드하고 `QrImageInput`에 그것을 감싸세요
- `QrReader` 인스턴스를 생성하고 입력과 함께 `Read` 호출
- `QrResult.Value`를 통해 디코드된 문자열에 접근합니다.
- `.First()`를 접근하기 전에 `results.Any()`로 보호합니다.
이미지에서 QR 코드 값을 읽는 방법은 무엇입니까?
QR 코드에 내장된 값을 추출하려면 이미지를 QrImageInput에 로드하고, QrReader.Read()에 전달한 후 반환된 QrResult의 Value 속성에 액세스합니다. 이 메서드는 이미지에서 발견된 QR 코드당 하나의 결과를 반환합니다.
입력
아래 QR 코드는 https://ironsoftware.com을 인코딩하며 그 값을 추출하기 위해 스캔될 것입니다.
:path=/static-assets/qr/content-code-examples/how-to/read-qr-code-value.cs
using IronQr;
using System.Drawing;
// Import image
var inputImage = Image.FromFile("sample.jpg");
// Load the asset into QrImageInput
QrImageInput imageInput = new QrImageInput(inputImage);
// Create a QR Reader object
QrReader reader = new QrReader();
// Read the input and get all embedded QR codes
IEnumerable<QrResult> results = reader.Read(imageInput);
// Display the value of the first QR code found
Console.WriteLine($"QR code value is {results.First().Value}");
Imports IronQr
Imports System.Drawing
Imports System.Linq
' Import image
Dim inputImage As Image = Image.FromFile("sample.jpg")
' Load the asset into QrImageInput
Dim imageInput As New QrImageInput(inputImage)
' Create a QR Reader object
Dim reader As New QrReader()
' Read the input and get all embedded QR codes
Dim results As IEnumerable(Of QrResult) = reader.Read(imageInput)
' Display the value of the first QR code found
Console.WriteLine($"QR code value is {results.First().Value}")
Value 속성은 URL, 숫자, 자유 텍스트 또는 기타 데이터를 포함하여 인코딩된 상태 그대로의 원시 디코딩 문자열을 반환합니다. Read() 메서드는 QR 코드가 하나만 있을 때에도 항상 IEnumerable<QrResult>를 반환합니다. 이미지에 여러 QR 코드가 포함되어 있다면, 각 코드를 처리하기 위해 foreach (var result in results)로 반복하세요. QR 코드를 찾을 수 없는 이미지에서 처리하기 위해 .First()를 호출하기 전에 results.Any()로 보호하세요.
산출
모든 QR 코드 속성을 읽는 방법은 무엇입니까?
각 QrResult는 스캔된 내용과 이미지에서 발견된 위치에 대한 전체적인 그림을 제공하는 세 가지 속성을 노출합니다. 아래의 동일한 입력 QR 코드를 사용하여:
:path=/static-assets/qr/content-code-examples/how-to/read-qr-code-value-properties.cs
using IronQr;
using IronSoftware.Drawing;
AnyBitmap inputImage = AnyBitmap.FromFile("sample.jpg");
QrImageInput imageInput = new QrImageInput(inputImage);
QrReader reader = new QrReader();
IEnumerable<QrResult> results = reader.Read(imageInput);
QrResult result = results.First();
// Decoded text content of the QR code
Console.WriteLine($"Value: {result.Value}");
// Parsed URL — populated when Value is a valid URL, null otherwise
Console.WriteLine($"Url: {result.Url}");
// Corner coordinates of the QR code in the image [TL, TR, BL, BR]
string[] labels = { "Top-Left", "Top-Right", "Bottom-Left", "Bottom-Right" };
for (int i = 0; i < result.Points.Length; i++)
{
Console.WriteLine($"{labels[i]}: ({result.Points[i].X}, {result.Points[i].Y})");
}
Imports IronQr
Imports IronSoftware.Drawing
Dim inputImage As AnyBitmap = AnyBitmap.FromFile("sample.jpg")
Dim imageInput As New QrImageInput(inputImage)
Dim reader As New QrReader()
Dim results As IEnumerable(Of QrResult) = reader.Read(imageInput)
Dim result As QrResult = results.First()
' Decoded text content of the QR code
Console.WriteLine($"Value: {result.Value}")
' Parsed URL — populated when Value is a valid URL, Nothing otherwise
Console.WriteLine($"Url: {result.Url}")
' Corner coordinates of the QR code in the image [TL, TR, BL, BR]
Dim labels As String() = {"Top-Left", "Top-Right", "Bottom-Left", "Bottom-Right"}
For i As Integer = 0 To result.Points.Length - 1
Console.WriteLine($"{labels(i)}: ({result.Points(i).X}, {result.Points(i).Y})")
Next i
산출
QrResult에서 노출하는 속성은 무엇인가요?
QrResult는 성공적인 스캔 후 다음 속성을 노출합니다:
| 재산 | 유형 | 설명 |
|---|---|---|
Value |
string |
암호화된 그대로의 원시 디코딩 문자열입니다. URL, 일반 텍스트, 숫자 ID, JSON 또는 기타 데이터를 포함할 수 있습니다. 대부분의 응용 프로그램에서 주요 속성입니다. |
Url |
Uri |
Value가 유효한 절대 URL일 때 채워지는 구문 분석된 Uri 개체. 링크를 열거나, 도메인을 검증하거나, URL 구성 요소를 추출하는 데 사용하십시오. 값이 URL이 아닌 경우 null를 반환합니다. |
Points |
PointF[] |
원본 이미지에서 QR 코드의 위치를 나타내는 네 개의 코너 좌표로, [Top-Left, Top-Right, Bottom-Left, Bottom-Right]로 정렬되어 있습니다. 바운딩 박스를 그리거나, 영역을 잘라내거나, 스캔 영역을 계산하는 데 사용하십시오. |
QR 코드 값 읽기의 일반적인 사용 사례는 무엇입니까?
- 결제 터미널: 고객의 QR 코드에서 거래 URL 또는 참조 ID를 디코딩하여 결제 흐름을 시작합니다.
- 티켓 검증: 프린트된 또는 화면상의 QR 코드에서 예약 참조를 추출하여 이벤트 입장을 확인합니다.
- 재고 관리: 상품 일련번호 또는 SKU를 창고 라벨에서 읽어 재고 기록을 업데이트합니다.
- 문서 검증: 법적 또는 정부 문서에 찍힌 QR 코드에서 기록 ID 또는 해시를 가져옵니다.
- 사용자 인증: QR 코드의 일회용 토큰을 디코딩하여 이중 인증 로그인 단계를 완료합니다.
추가 QR 코드 읽기 패턴에 대해서는 이미지에서 QR 코드 읽기 가이드와 전체 IronQR 기능 세트를 탐색하십시오.

