C# Dilinde QR Kod Türü Nasıl Okunur

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

Çalışma zamanında taranmış herhangi bir QR kodunun formatını belirleyin. QrResult.QrType'yı okuyarak simgolojiyi tespit edin ve çeşitli giriş kaynakları için tür farkındalığına sahip işleme mantığı oluşturun.

Bir uygulama birden fazla kaynaktan gelen QR kodlarını kabul ettiğinde, format her zaman tahmin edilemez. Lojistik bir platform, nakliye etiketlerinden gelen standart QR kodları ile ürün etiketlerinden gelen kompakt Mikro QR kodlarını alabilir. Bir belge işleme sistemi, fiziksel medyada basılı olanlarla birlikte PDF'lere gömülü kodları tarayabilir. QrResult.QrType'yı okumak, uygulamaya hangi formatın tespit edildiği hakkında görünürlük sağlar; bu da girişi doğrulama, verileri doğru işleyiciye yönlendirme veya desteklenmeyen formatları inceleme için kaydetme olanağı tanır.

Bu kılavuz, tarama sonuçlarından QR kodu formatını nasıl alacağınızı IronQR kütüphanesini kullanarak gösterir. Henüz bir QR kodu taramamış olan geliştiriciler ilk önce Görüntüden QR Kodlarını Okuma rehberiyle başlamalıdır.

Hızlı Başlangıç: QR Kod Türü Okuma

Bir görüntü yükleyin, QrReader ile tarayın ve tespit edilen formata erişin.

  1. NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronQR yükleyin

    PM > Install-Package IronQR
  2. Bu kod parçasını kopyalayıp çalıştırın.

    var input = new QrImageInput("qr-code.png");
    var results = new QrReader().Read(input);
    Console.WriteLine(results.First().QrType);
  3. Canlı ortamınızda test etmek için dağıtın

    Bugün projenizde IronQR kullanmaya başlayın ücretsiz deneme ile

    arrow pointer

QR Kod Türünü Nasıl Okurum?

Bir QR kodunun türünü okumak için, görüntüyü bir QrImageInput'a yükleyin, QrReader.Read()'a aktarın ve döndürülen QrResult üzerinde QrType erişin. Bu özellik, tespit edilen simgolojiyi tanımlayan bir QrEncoding enum değerini döndürür.

Girdi

Aşağıdaki QR kodu, https://ironsoftware.com adresini kodlar ve türünü çıkarmak için taranacaktır.

https://ironsoftware.com'ı kodlayan ve tür tespiti için giriş olarak kullanılan QR kodu
:path=/static-assets/qr/content-code-examples/how-to/read-qr-code-type.cs
using IronQr;
using System.Drawing;
using System.Linq;

// Import an image containing a QR code
var inputImage = Image.FromFile("sample.jpg");

// Load the asset into a QrImageInput object
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 type of the first QR code found
Console.WriteLine($"The QR type is {results.First().QrType}");
Imports IronQr
Imports System.Drawing
Imports System.Linq

' Import an image containing a QR code
Dim inputImage As Image = Image.FromFile("sample.jpg")

' Load the asset into a QrImageInput object
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 type of the first QR code found
Console.WriteLine($"The QR type is {results.First().QrType}")
$vbLabelText   $csharpLabel

QrType, QrEncoding enum değeri olarak QrEncoding.QRCode, QrEncoding.MicroQRCode veya QrEncoding.RMQRCode gibi değerler döndürür. Bu, doğrudan bir switch ifadesinde ayrıştırma veya dizi karşılaştırma yapmadan kullanmayı güvenli hale getirir.

Çıktı

Tespit edilen QR kod türünü gösteren konsol çıktısı

QR Kod Formatına Göre İşlemeyi Nasıl Yönlendiririm?

Bir uygulama birden fazla kaynaktan QR kodları aldığında, her giriş aynı formatta olmayacaktır. Her tespit edilen kodu, QrEncoding değerine göre doğru işleyiciye yönlendirmek için QrResult.QrType üzerinde bir switch kullanın. Bu, formata özgü mantığı izole eder ve yeni format dalları eklemeyi kolaylaştırır.

Yukarıdaki aynı giriş QR kodunu kullanarak:

:path=/static-assets/qr/content-code-examples/how-to/read-qr-code-type-all.cs
using IronQr;
using IronQr.Enum;
using System.Drawing;

// Import an image containing QR codes
var inputImage = Image.FromFile("sample.jpg");

// Load the asset into a QrImageInput object
QrImageInput imageInput = new QrImageInput(inputImage);

// Create a QR Reader object
QrReader reader = new QrReader();

// Read all embedded QR codes from the image
IEnumerable<QrResult> results = reader.Read(imageInput);

// Route processing based on the detected QR code format
foreach (QrResult result in results)
{
    switch (result.QrType)
    {
        case QrEncoding.QRCode:
            Console.WriteLine($"Standard QR Code: {result.Value}");
            break;
        case QrEncoding.MicroQRCode:
            Console.WriteLine($"Micro QR Code: {result.Value}");
            break;
        case QrEncoding.RMQRCode:
            Console.WriteLine($"RMQR Code: {result.Value}");
            break;
        default:
            Console.WriteLine($"Other format ({result.QrType}): {result.Value}");
            break;
    }
}
Imports IronQr
Imports IronQr.Enum
Imports System.Drawing

' Import an image containing QR codes
Dim inputImage As Image = Image.FromFile("sample.jpg")

' Load the asset into a QrImageInput object
Dim imageInput As New QrImageInput(inputImage)

' Create a QR Reader object
Dim reader As New QrReader()

' Read all embedded QR codes from the image
Dim results As IEnumerable(Of QrResult) = reader.Read(imageInput)

' Route processing based on the detected QR code format
For Each result As QrResult In results
    Select Case result.QrType
        Case QrEncoding.QRCode
            Console.WriteLine($"Standard QR Code: {result.Value}")
        Case QrEncoding.MicroQRCode
            Console.WriteLine($"Micro QR Code: {result.Value}")
        Case QrEncoding.RMQRCode
            Console.WriteLine($"RMQR Code: {result.Value}")
        Case Else
            Console.WriteLine($"Other format ({result.QrType}): {result.Value}")
    End Select
Next
$vbLabelText   $csharpLabel

Her case belirli bir QrEncoding değerini hedefler. default dalı, açıkça ele alınmayan herhangi bir formatı yakalar, böylece döngü beklenmedik bir girişi sessizce başarısız hale getirmez. Uygulamanın ek formatları desteklemesi gerektiğinde daha fazla durum ekleyin.

Çıktı

Her keşfedilen QR kodu için format tabanlı yönlendirme sonucunu gösteren konsol çıktısı

QrResult.QrType Ne Döndürür?

QrType, tarayıcı tarafından tespit edilen simgolojiyi tanımlayan her QrResult üzerinde bir QrEncoding enum özelliğidir. QrReader.Read() sırasında otomatik olarak doldurulur ve ek yapılandırma gerektirmez. using IronQr.Enum; ekleyerek bir switch içinde QrEncoding değerlerini doğrudan kullanın.

Değer Tanım
QrEncoding.QRCode Tüm endüstrilerde yaygın olarak kullanılan standart QR kod
QrEncoding.MicroQRCode Sınırlı baskı alanı olan küçük yüzeyler için tasarlanmış kompakt varyant
QrEncoding.RMQRCode Dar, uzun etiket şekilleri (rMQR) için optimize edilmiş dikdörtgen Mikro QR kod

QrType salt okunurdur ve tarayıcının görüntüde tespit ettiğini yansıtır. Değeri, QR kodunun nasıl oluşturulduğuna bağlı değildir.


QrType için Yaygın Kullanım Durumları Nelerdir?

  • Lojistik ve nakliye: Bir etiketin standart QR kodu veya kompakt Mikro QR taşıyıp taşımadığını algılayın ve her birini doğru ayrıştırma boru hattına yönlendirin.
  • Belge işleme: Taranan belgenin beklenen formatı içerdiğini doğrulayın, ardından kayıt eşleştirme için değerini çıkarın.
  • Çok formatlı kiosklar: Tek bir istasyonda farklı QR formatlarını kabul edin ve her birini manuel müdahale olmadan uygun işleyiciye gönderin.
  • Denetim ve uyumluluk: Girdi formatlarının toplu partilerdeki doğrulanabilir kaydını oluşturmak için çözümlenmiş değerlerle birlikte semboloji türünü kaydedin.
  • Kalite güvence: Üretilen QR kodlarının istenen tipte geri tarandığını doğrulayın, çıktının spesifikasyonu karşıladığını onaylayın.

Tip tespit edildikten sonra QR kodu verilerini okumak üzerine daha fazla bilgi için QR Kod Değerini Oku kılavuzuna ve tam IronQR özellik setine bakın.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 64,787 | Sürüm: 2026.4 just released
Still Scrolling Icon

Hala Kaydiriyor musunuz?

Hızlı bir kanit mi istiyorsunuz? PM > Install-Package IronQR
bir örneği çalıştır URL'inin bir QR koduna dönüşünü izle.