푸터 콘텐츠로 바로가기
IRONQR 사용

C#에서 이미지에서 QR 코드를 읽는 방법

QR 코드 (Quick Response Codes)는 제품 포장, 이벤트 티켓, 메뉴, 심지어 명함에까지 어디에나 있습니다. .NET 개발자로서, 이미지에서 QR 코드를 빠르고 신뢰성 있게 읽는 것은 강력한 자동화 및 사용자 상호작용 기능을 열어줄 수 있습니다. 이 가이드에서는 .NET용으로 특별히 구축된 고성능 QR 코드 라이브러리인 IronQR을 사용하여 C# 코드를 몇 줄만으로 이미지에서 QR 코드를 읽는 방법을 안내합니다.

재고 관리 소프트웨어를 구축하든, 이중 인증을 통합하든, 스크린샷에서 URL을 단순히 디코딩하든, IronQR은 쉽게 할 수 있습니다.

IronQR이란 무엇인가요?

IronQR은 .NET 개발자를 위한 강력한 QR 코드 리더 및 작성기를 만들기 위해 개발된 강력한 C# QR 코드 라이브러리입니다. IronQR은 QR 코드 생성과 스캔 모두를 위해 설계되었으며, 다양한 이미지 형식에서 읽기를 지원하여 데스크톱, 웹, 또는 서버 애플리케이션에 이상적입니다. 이 라이브러리를 통해 QR 코드 인식 및 읽기 프로세스를 자동화하는 정확한 QR 코드 리더 도구를 만들 수 있습니다.

주요 특징

  • QR 코드를 쉽게 읽고 생성합니다.
  • JPEG, PNG, BMP 및 기타 이미지 형식을 지원합니다.
  • 고속의 성능과 정확한 검출로 QR 코드 데이터를 쉽게 추출할 수 있습니다.
  • .NET Framework, .NET Core, .NET Standard (2.0+), 그리고 .NET 6/7+ 프로젝트에서 작동합니다.
  • 윈도우, 리눅스 또는 기타 지원 환경과 같은 선호하는 앱 환경 및 운영 체제에서 작업할 수 있도록 플랫폼 간 지원을 제공합니다.

오픈 소스 대안과 달리, IronQR은 Enterprise급 안정성, 상용 라이선스전문 지원에 중점을 두어 비즈니스 중요 앱에 적합합니다.

Setting Up IronQR in Your C# Project

QR 코드를 스캔하기 시작하기 전에, .NET 애플리케이션에 IronQR을 설정하는 방법을 알아보겠습니다.

NuGet 통해 설치하세요

NuGet 패키지 관리자 콘솔에서 IronQR을 직접 설치할 수 있습니다:

Install-Package IronQR
Install-Package IronQR
$vbLabelText   $csharpLabel

또는 Visual Studio의 NuGet GUI를 사용하여 IronQR을 검색하고 "설치"를 클릭하십시오:

C#에서 이미지에서 QR 읽기: 그림 2 - IronQR NuGet 패키지 관리자 화면

네임스페이스 추가 및 기본 설정

설치 후, 다음 네임스페이스를 C# 파일에 포함하십시오:

using IronSoftware.Drawing;
using IronQR;
using IronSoftware.Drawing;
using IronQR;
$vbLabelText   $csharpLabel

참고: IronSoftware.Drawing은 플랫폼 간 방식으로 이미지 형식을 처리하는 데 사용됩니다.

이미지에서 QR 코드 읽기

IronQR를 사용하여 파일에서 QR 코드를 실제로 읽는 방법에 대해 알아보겠습니다.

지원되는 이미지 형식

IronQR은 다음을 포함하여 여러 유형의 이미지 형식을 지원합니다:

  • PNG
  • JPG/JPEG
  • BMP
  • GIF
  • TIFF

이런 유연성 덕분에 카메라 스냅샷에서 스캔 문서까지 거의 모든 이미지 소스를 작업할 수 있습니다.

기본 코드 예제

이 라이브러리를 사용하여 QR 코드를 쉽게 디코딩하는 방법을 자세히 살펴보겠습니다. 여기에서는 Bitmap 클래스와 파일 스트림을 사용하여 이미지 파일에서 'Hello World!'라는 텍스트 값을 포함하는 단일 QR 코드를 읽는 최소한의 예를 소개합니다:

using IronQr;
using IronSoftware.Drawing;
using System;
class Program
{
    static void Main()
    {
        // Load the image using a file stream
        using var stream = File.OpenRead("sample-qr.png");
        var bitmapImage = AnyBitmap.FromStream(stream);
        QrImageInput qrImageInput = new QrImageInput(bitmapImage );
        // Read the QR code
        QrReader qrReader = new QrReader();
        try
        {
     // Use the QR read method to read the values within your QR code(s)
            IEnumerable<QrResult> results = qrReader.Read(qrImageInput);
            // Output the decoded value
            foreach (var result in results)
            {
                Console.WriteLine("QR Code Value: " + result.Value);
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error reading QR code: " + ex.Message);
        }
    }
}
using IronQr;
using IronSoftware.Drawing;
using System;
class Program
{
    static void Main()
    {
        // Load the image using a file stream
        using var stream = File.OpenRead("sample-qr.png");
        var bitmapImage = AnyBitmap.FromStream(stream);
        QrImageInput qrImageInput = new QrImageInput(bitmapImage );
        // Read the QR code
        QrReader qrReader = new QrReader();
        try
        {
     // Use the QR read method to read the values within your QR code(s)
            IEnumerable<QrResult> results = qrReader.Read(qrImageInput);
            // Output the decoded value
            foreach (var result in results)
            {
                Console.WriteLine("QR Code Value: " + result.Value);
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error reading QR code: " + ex.Message);
        }
    }
}
$vbLabelText   $csharpLabel

콘솔 출력

C#에서 이미지에서 QR 읽기: 그림 3 - QR 코드 값 콘솔 출력

이 코드는 QR 코드 이미지를 로드하고, 첫 번째로 감지된 QR 코드를 읽고, 디코딩된 내용을 출력합니다. 간단하면서도 효과적입니다. 여기에서 QR 코드의 값을 저장하여 나중에 사용할 수 있습니다.

여러 QR 코드 처리

이미지에 여러 QR 코드(예: 제품 레이블 시트)가 포함된 경우 모든 코드를 추출할 수 있습니다. 이 예제에서는 다음 QR 코드 이미지를 프로그램을 통해 실행합니다:

C#에서 이미지에서 QR 읽기: 그림 4 - 다중 QR 코드가 있는 이미지

using IronQr;
using IronSoftware.Drawing;
using System;
class Program
{
    static void Main()
    {
        // Load the image from file
        var inputImage = AnyBitmap.FromFile("SampleCodes.png");
        QrImageInput qrImageInput = new QrImageInput(inputImage);
        // Read the QR code
        QrReader qrReader = new QrReader();
        IEnumerable<QrResult> results = qrReader.Read(qrImageInput);
        // Output the decoded value
        foreach (var result in results)
        {
            Console.WriteLine("QR Code Value: " + result.Value);
        }
    }
}
using IronQr;
using IronSoftware.Drawing;
using System;
class Program
{
    static void Main()
    {
        // Load the image from file
        var inputImage = AnyBitmap.FromFile("SampleCodes.png");
        QrImageInput qrImageInput = new QrImageInput(inputImage);
        // Read the QR code
        QrReader qrReader = new QrReader();
        IEnumerable<QrResult> results = qrReader.Read(qrImageInput);
        // Output the decoded value
        foreach (var result in results)
        {
            Console.WriteLine("QR Code Value: " + result.Value);
        }
    }
}
$vbLabelText   $csharpLabel

출력

C#에서 이미지에서 QR 읽기: 그림 5 - QR 코드 값 출력

QR 코드 스캔을 위한 일반적인 사용 사례

이미지에서 QR 코드를 읽는 것이 가치 있는 몇 가지 실제 시나리오는 다음과 같습니다:

  • 재고 및 자산 관리: 패키지 이미지에서 QR 코드를 스캔하여 품목 식별 자동화.
  • 이중 인증(2FA): 안전한 구성 지원을 위해 2FA 설정 화면에서 QR 코드 구문 분석.
  • 모바일 앱 통합: 공유된 QR 스크린샷을 스캔하여 모바일 URL 또는 앱 전용 깊은 링크를 실행.
  • 이벤트 티케팅: 이메일로 전송되거나 화면에 표시된 티켓 QR 코드 유효성 검사.
  • 결제 게이트웨이: 핀테크 응용 프로그램을 위한 QR 코드에 포함된 결제 데이터 추출.

이 모든 사용 사례에서 빠르고 정확한 인식이 핵심입니다. IronQR은 쉽게 처리할 수 있습니다.

문제 해결 팁

QR 코드를 읽는 데 문제가 있다면 다음을 고려하십시오:

이미지 품질이 낮음

흐릿하거나 해상도가 낮은 이미지는 QR 코드를 감지하기 어렵게 만들 수 있습니다. 가능한 경우 고품질 입력을 사용하십시오.

QR 코드가 감지되지 않음

이미지가 너무 어둡지 않고, 강한 대조를 가지며, QR 코드가 가려지지 않았는지 확인하십시오. QR 영역에 초점을 맞추기 위해 이미지를 자르십시오.

예외 처리

손상된 파일이나 예상치 못한 형식을 우아하게 처리하기 위해 항상 QR 읽기 로직을 트라이-캐치 블록으로 감싸십시오:

try
{
    IEnumerable<QrResult> results = qrReader.Read(qrImageInput);
    // Output the decoded value
    foreach (var result in results)
    {
        Console.WriteLine("QR Code Value: " + result.Value);
    }
}
catch (Exception ex)
{
    Console.WriteLine("Error reading QR code: " + ex.Message);
}
try
{
    IEnumerable<QrResult> results = qrReader.Read(qrImageInput);
    // Output the decoded value
    foreach (var result in results)
    {
        Console.WriteLine("QR Code Value: " + result.Value);
    }
}
catch (Exception ex)
{
    Console.WriteLine("Error reading QR code: " + ex.Message);
}
$vbLabelText   $csharpLabel

마지막으로

C#에서 이미지에서 QR 코드를 읽는 것이 어려울 필요는 없습니다. IronQR을 사용하면 단 몇 줄의 코드로 .NET 애플리케이션에 QR 코드 스캔을 통합할 수 있습니다. 그 간단함, 크로스 플랫폼 호환성 및 우수한 성능 덕분에 현대식 QR 지원 시스템을 개발하는 개발자에게 필수 도구가 됩니다.

이 기능을 확장하고자 한다면 다음을 탐색해 보십시오:

  • QR 코드 생성을 통해 자신의 스캔 가능한 코드를 생성해 보십시오.
  • IronBarcode 또는 IronOCR와의 통합을 통해 더 광범위한 스캔 기능 제공. 준비되셨습니까?

IronQR 무료 체험판 설치하고 오늘 시작하여 이 라이브러리가 QR 코드 작업을 어떻게 향상시킬 수 있는지 알아보십시오.

자주 묻는 질문

C#에서 이미지의 QR 코드를 어떻게 읽을 수 있나요?

IronQR 사용하면 C#에서 이미지의 QR 코드를 읽을 수 있습니다. IronQR PNG, JPG, TIFF 등 다양한 이미지 형식에서 QR 코드 데이터를 스캔하고 추출하는 메서드를 최소한의 코드로 제공합니다.

.NET 프로젝트에서 IronQR 설정하려면 어떤 단계가 필요합니까?

.NET 프로젝트에 IronQR 설치하려면 NuGet 패키지 관리자 콘솔에서 Install-Package IronQR 명령을 사용하거나 Visual Studio의 NuGet 패키지 관리자 GUI에서 IronQR 찾아 '설치'를 클릭하세요.

IronQR 저화질 이미지에서 QR 코드를 읽는 데 어떻게 도움을 줄 수 있습니까?

IronQR 다양한 화질의 이미지에서 QR 코드를 인식하도록 설계되었습니다. 하지만 최상의 결과를 얻으려면 이미지의 대비가 좋고 QR 코드 영역에 초점이 잘 맞춰져 있는지 확인하십시오. 인식이 실패할 경우 이미지 화질을 개선하거나 이미지를 잘라내 보세요.

IronQR 하나의 이미지에서 여러 개의 QR 코드를 읽을 수 있습니까?

네, IronQR 단일 이미지에서 여러 개의 QR 코드를 감지하고 읽을 수 있습니다. 이는 여러 개의 QR 코드가 포함된 문서나 라벨을 처리할 때 유용합니다.

.NET 애플리케이션에서 QR 코드를 읽는 일반적인 사용 사례는 무엇인가요?

일반적인 사용 사례로는 재고 관리, 이중 인증, 모바일 앱 연동, 이벤트 티켓팅, 결제 게이트웨이 등이 있습니다. IronQR 빠르고 안정적인 QR 코드 판독 기능을 제공하여 이러한 애플리케이션의 활용을 지원합니다.

IronQR 어떻게 플랫폼 간 호환성을 보장합니까?

IronQR .NET Framework, .NET Core, .NET Standard 및 .NET 6/7+를 지원하여 Windows, Linux 및 기타 환경에서 플랫폼 간 호환성을 제공합니다.

IronQR 이 QR 코드를 읽지 못하면 어떻게 해야 하나요?

IronQR QR 코드를 읽지 못하는 경우, 이미지의 선명도와 대비를 확인하십시오. QR 코드에 장애물이 없는지 확인하고, QR 코드 영역에 초점을 맞추도록 이미지를 자르는 것을 고려해 보세요. 문제가 지속되면 파일 형식이 지원되는지 확인하십시오.

IronQR 사용하여 QR 코드를 읽을 때 예외를 어떻게 처리해야 하나요?

예외 처리를 위해 IronQR 코드를 try-catch 블록으로 감싸세요. 이 방법을 사용하면 손상된 파일이나 지원되지 않는 형식과 같은 문제를 원활하게 처리할 수 있습니다.

IronQR QR 코드 처리에 사용하면 어떤 이점이 있나요?

IronQR 고속 성능, 다양한 이미지 형식 지원, 그리고 기업 수준의 안정성을 제공합니다. 다양한 .NET 애플리케이션에 쉽게 통합할 수 있어 효율적인 QR 코드 처리 솔루션을 찾는 개발자에게 이상적입니다.

IronQR 사용하여 QR 코드 감지 정확도를 높이려면 어떻게 해야 할까요?

고품질의 대비와 초점이 좋은 이미지를 사용하여 QR 코드 감지 정확도를 높이세요. QR 코드가 가려지지 않도록 하고, 필요한 경우 이미지 전처리 기법을 활용하세요.

조르디 바르디아
소프트웨어 엔지니어
조르디는 Iron Software에서 일하지 않을 때는 Python, C#, C++에 가장 능숙하며 게임 프로그래밍을 합니다. 제품 테스트, 제품 개발 및 연구를 담당하며 지속적인 제품 개선에 크게 기여하고 있습니다. 다양한 경험은 그에게 끊임없는 도전과 흥미를 제공하며, Iron Software에서 일하는 가장 큰 장점 중 하나라고 합니다. 조르디는 플로리다주 마이애미에서 자랐으며 플로리다 대학교에서 컴퓨터 과학과 통계학을 전공했습니다.

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me