
C# QR 코드 리더 (초보자를 위한 단계별 튜토리얼)
오늘날의 디지털 중심 세계에서 QR 코드(Quick Response Codes)는 물리적 및 디지털 영역을 원활하게 연결하는 데 널리 사용되고 있습니다. 마케팅에서 물류, 금융에서 의료에 이르기까지 QR 코드는 효율적인 데이터 교환을 촉진하는 중요한 역할을 합니다.
이 기사에서는 C# 개발의 영역을 탐구하며, 시장에서 최고의 QR 코드 라이브러리 중 하나인 IronQR가 개발자가 QR 코드 인식을 활용하고 데이터를 손쉽게 디코딩하며 다양한 도메인에서 혁신을 주도할 수 있는 방법을 살펴봅니다.
Iron Software의 IronQR은 강력한 .NET QR 코드 리더 라이브러리로 두각을 나타냅니다. IronQR가 구현한 고급 머신 러닝 모델은 도전적인 시나리오에서도 탁월한 정확성과 효율성으로 QR 코드를 디코드할 수 있도록 애플리케이션을 강화합니다.
C#와 IronQR을 사용하여 QR 코드를 읽는 방법
- .NET Windows Forms 애플리케이션 템플릿으로 Visual Studio 프로젝트를 생성합니다.
- IronQR을 NuGet 패키지 관리자를 통해 설치합니다.
- AForge 라이브러리를 사용하여 카메라에서 이미지를 QR 코드로 얻습니다.
- IronQR을 사용하여 QR 코드를 읽습니다.
IronQR은 .NET Framework 내에서 QR 코드 이미지를 스캔하고 생성하도록 설계된 주요 C# QR 코드 리더 라이브러리로 두각을 나타냅니다. 최신 ML 기술을 활용하여 IronQR은 QR 코드 읽기를 전례 없는 수준으로 향상시켰습니다.
이미지, 비디오 또는 실시간 카메라 피드에서 QR 코드를 스캔하든 ML 기반 솔루션은 신속하고 신뢰할 수 있는 정보 검색을 보장합니다.
이 혁신적인 접근 방식은 데이터 추출을 간소화할 뿐만 아니라, 진정한 QR 코드와 잠재적인 위협을 구분하여 보안을 강화합니다. 직관적인 API로 개발자는 몇 분 만에 .NET 프로젝트에 QR 코드 기능을 원활하게 통합할 수 있습니다.
IronQR은 .NET Core (8, 7, 6, 5, 3.1+), .NET Standard (2.0+), 및 .NET Framework (4.6.2+)와 완벽하게 통합됩니다. 현재 .NET Core 버전은 리눅스, 유닉스, macOS와 같은 클라이언트 운영 체제에 대한 지원을 확장하며, 모바일 앱 개발과의 호환성을 제공합니다.
필수 조건
- Visual Studio: Visual Studio나 다른 .NET 개발 환경이 설치되어 있는지 확인하세요.
- 호환되는 카메라: 카메라가 장치에 연결되어 있는지 확인하세요.
- NuGet 패키지 관리자: 프로젝트에서 NuGet을 사용하여 패키지를 관리할 수 있는지 확인하세요.
단계 1: .NET Windows Forms 애플리케이션 템플릿으로 Visual Studio 프로젝트 만들기
카메라 비디오 스트림 또는 이미지 파일에서 QR 코드 바코드를 읽기 위한 Windows Forms .NET 애플리케이션을 만들어 보겠습니다. Visual Studio를 열고, 새 프로젝트 만들기를 선택한 후 .NET Windows Forms 애플리케이션 템플릿을 선택하십시오.

다음을 클릭하고 프로젝트 이름을 입력하세요.

원하는 .NET 버전을 선택한 후 생성 버튼을 클릭하세요.

단계 2: NuGet 패키지 관리자를 통해 IronQR 설치
IronQR은 NuGet 패키지 관리자 또는 Visual Studio 패키지 관리자를 통해 설치할 수 있습니다.

아래는 Visual Studio를 사용하는 방법을 보여줍니다.

단계 3: AForge 라이브러리를 사용하여 카메라에서 QR 코드를 이미지로 얻기
카메라 장치에서 QR 코드를 스캔하려면 AForge.Video.DirectShow 라이브러리를 설치해야 합니다. 이 작업은 Visual Studio 패키지 관리자를 사용하여 수행할 수 있습니다. 솔루션 탐색기를 마우스 오른쪽 버튼으로 클릭하고 패키지 관리자를 엽니다.

이 라이브러리는 아래와 같이 NuGet 패키지 콘솔을 사용하여 설치할 수도 있습니다. 라이브러리를 설치하려면 설치 버튼을 클릭하세요.

단계 4: IronQR을 사용하여 QR 코드 읽기
다음 단계는 폼에 PictureBox 구성 요소를 생성하는 것입니다. 이는 기계에 연결된 카메라 장치에서 QR 코드 이미지를 스캔하는 데 필요합니다.
이는 도구 상자에서 끌어서 작업할 수 있습니다. 이 PictureBox는 카메라 장치에서 QR 코드 데이터를 읽는 데 필요합니다.

다음으로, 읽은 QR 코드를 표시하기 위해 텍스트 상자를 끌어다 놓으세요.

IronQR을 사용하여 QR 코드를 읽고 디코드하려면 아래 코드를 추가하세요.
using AForge.Video.DirectShow;
using AForge.Video;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
using IronQR;
namespace ReadQR
{
public partial class Form1 : Form
{
// Declare a video capture device
private VideoCaptureDevice videoSource;
public Form1()
{
InitializeComponent();
this.Load += Form1_Load;
this.FormClosing += Form1_FormClosing;
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
// Stop the video source when the form is closing
if (videoSource != null && videoSource.IsRunning)
{
videoSource.SignalToStop();
videoSource.WaitForStop();
}
}
private void Form1_Load(object sender, EventArgs e)
{
// Retrieve video input devices connected to the machine
FilterInfoCollection videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
if (videoDevices.Count > 0)
{
// Use the first available video device
videoSource = new VideoCaptureDevice(videoDevices[0].MonikerString);
videoSource.NewFrame += VideoSource_NewFrame;
videoSource.Start();
}
else
{
MessageBox.Show("No video devices found.");
Close();
}
}
private void VideoSource_NewFrame(object sender, NewFrameEventArgs eventArgs)
{
// Update the PictureBox with the new frame from the camera
pictureBox1.Image = (Bitmap)eventArgs.Frame.Clone();
var image = (Bitmap)eventArgs.Frame.Clone();
// Set the license key for IronQR. Replace "YourKey" with your actual key
License.LicenseKey = "YourKey";
// Prepare the image for QR code reading
QrImageInput imageInput = new QrImageInput(image);
// Create a QR reader object
QrReader reader = new QrReader();
// Read QR codes from the image
IEnumerable<QrResult> results = reader.Read(imageInput);
// Display the first QR code result in a MessageBox
if (results.Any())
{
MessageBox.Show(results.First().Value);
}
}
}
}Imports AForge.Video.DirectShow
Imports AForge.Video
Imports System
Imports System.Collections.Generic
Imports System.Drawing
Imports System.Linq
Imports System.Windows.Forms
Imports IronQR
Namespace ReadQR
Partial Public Class Form1
Inherits Form
' Declare a video capture device
Private videoSource As VideoCaptureDevice
Public Sub New()
InitializeComponent()
AddHandler Me.Load, AddressOf Form1_Load
AddHandler Me.FormClosing, AddressOf Form1_FormClosing
End Sub
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As FormClosingEventArgs)
' Stop the video source when the form is closing
If videoSource IsNot Nothing AndAlso videoSource.IsRunning Then
videoSource.SignalToStop()
videoSource.WaitForStop()
End If
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs)
' Retrieve video input devices connected to the machine
Dim videoDevices As New FilterInfoCollection(FilterCategory.VideoInputDevice)
If videoDevices.Count > 0 Then
' Use the first available video device
videoSource = New VideoCaptureDevice(videoDevices(0).MonikerString)
AddHandler videoSource.NewFrame, AddressOf VideoSource_NewFrame
videoSource.Start()
Else
MessageBox.Show("No video devices found.")
Close()
End If
End Sub
Private Sub VideoSource_NewFrame(ByVal sender As Object, ByVal eventArgs As NewFrameEventArgs)
' Update the PictureBox with the new frame from the camera
pictureBox1.Image = DirectCast(eventArgs.Frame.Clone(), Bitmap)
Dim image = DirectCast(eventArgs.Frame.Clone(), Bitmap)
' Set the license key for IronQR. Replace "YourKey" with your actual key
License.LicenseKey = "YourKey"
' Prepare the image for QR code reading
Dim imageInput As New QrImageInput(image)
' Create a QR reader object
Dim reader As New QrReader()
' Read QR codes from the image
Dim results As IEnumerable(Of QrResult) = reader.Read(imageInput)
' Display the first QR code result in a MessageBox
If results.Any() Then
MessageBox.Show(results.First().Value)
End If
End Sub
End Class
End Namespace입력 이미지 파일
QR 코드에 인코딩된 텍스트는 다음과 같습니다: I Love IronQR

산출

예시 코드 설명
- 우리는 Windows Forms에서
Form1_Load및Form1_FormClosing이벤트 두 개를 등록했습니다. - 또한 우리는 AForge.Video.DirectShow 라이브러리의
videoSource인스턴스에VideoSource_NewFrame을 등록했습니다. - 실시간 비디오 스트림에서 QR 코드를 읽습니다.
- QR 코드가 감지되면, 해독된 텍스트와 함께 MessageBox를 표시합니다.
라이센스 (무료 체험 가능)
IronQR에는 라이선스 키가 필요합니다. 체험 키는 여기에서 얻을 수 있습니다. 이 키는 appsettings.json에 배치해야 합니다.
{
"IronQr.LicenseKey": "MYLICENSE.KEY.TRIAL"
}
체험판 라이선스를 받으려면 이메일 ID를 제공하고, 제출 후 이메일로 키가 전송됩니다.

결론
결론적으로, QR 코드는 기원에서 벗어나 우리의 디지털 생태계에서 필수적인 요소가 되었습니다. IronQR을 사용하면 C# 개발자는 QR 코드 인식의 힘을 활용하여 다양한 종류의 QR 코드를 쉽게 해독하고, 여러 도메인에서 혁신할 수 있습니다.
QR 코드가 계속 진화하고 새로운 기술에 통합됨에 따라, 원활한 데이터 교환을 촉진하고 사용자 경험을 개선하는 데 있어 그 중요성은 더욱 커질 것입니다. IronQR으로 QR 코드의 잠재력을 받아들이고, C# 개발에서의 혁신과 효율성의 여정을 시작하세요.

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.
관련 기사


