IRONSOFTWAREHOME

How to Read QR Codes from Images in C#

Curtis Chau
Curtis Chau
Updated: 9 Mayıs 2026

IronQR, geliştiricilerin C# dilinde çeşitli resim formatlarından QR kodlarını okumalarını sağlar. Resimleri IronDrawing ile yükleyip, bir QrImageInput nesnesi oluşturarak ve QR verilerini etkili bir şekilde decode etmek için BarcodeReader.Read metodunu kullanarak QR kodlarını okuyabilirler.

Hızlı Başlangıç: C# İçinde Görüntüden QR Kodu Oku

Farklı Görüntü Formatlarından QR Kodları Nasıl Okurum?

IronQR, çeşitli görüntü formatlarından QR kodlarını okumak için yerleşik destek sağlar. Bu özellik, farklı medya türlerinde doğru kod çözmeyi sağlamak için ileri makine öğrenimi modellerini kullanır. Desteklenen formatlar şunları içerir:

  • Birleşik Fotoğraf Uzmanları Grubu (JPEG)
  • Taşınabilir Ağ Grafikleri (PNG)
  • Grafik Değişim Formatı (GIF)
  • İşaretlenmiş Görüntü Dosyası Formatı (TIFF)
  • Bitmap Resim Dosyası (BMP)
  • WBMP
  • WebP
  • Simge (ico)
  • WMF
  • RawFormat (ham)

Bu format desteği, görüntü işleme işlemlerini verimli bir şekilde yürüten açık kaynak kütüphanelerden IronDrawing tarafından sağlanmıştır. QR kodlarını dijital kameralar, tarayıcılar, mobil cihazlar veya web indirmelerinden format dönüştürmeden işleyebilirsiniz.

Görüntü tarama testi için konumlandırma kareleri ve veri modüllerini gösteren net siyah-beyaz desenli örnek QR kodu
  1. 1Install IronQR with NuGet Package Manager

    PM > Install-Package IronQR

  2. 2Bu kod parçacığını kopyalayın ve çalıştırın.

    // Import necessary IronQR and IronDrawing namespaces
    using IronSoftware.Drawing; 
    using IronBarcode;
    
    public class QRCodeReader
    {
        public static void Main()
        {
            // Load an image from a file path
            using (var inputImage = Image.FromFile("path/to/your/image/file.webp"))
            {
                // Create a QrImageInput object from the image
                var qrImageInput = new QrImageInput(inputImage);
    
                // Decode the QR kodu from the image
                var result = BarcodeReader.Read(qrImageInput);
    
                // Iterate through each detected QR kodu and display its information
                foreach (var barcodeResult in result.Barcodes)
                {
                    Console.WriteLine($"QR Code Data: {barcodeResult.Value}");
                }
            }
        }
    }
    C#
  3. 3Canlı ortamınızda test için dağıtım yapın

    Ücretsiz deneme ile bugün projenizde IronQR kullanmaya başlayın
    arrow pointer

Not: "path/to/your/image/file.webp"'yi QR kodu görüntü dosyanızın gerçek yolu ile değiştirin.

Örnek görüntülerdeki QR kodu değeri hakkında merak mı ediyorsunuz? Kod parçasını kullanarak deneyin!

Neden IronQR Birden Fazla Görüntü Formatını Destekliyor?

QR kodu okuma, bir QR kodu içinde saklanan bilgilerin taranması ve kodunun çözülmesi anlamına gelir. Bu genellikle QR kodunun verilerini yorumlayabilen bir yazılımla eşleştirilmiş bir kamera veya tarayıcı kullanılarak yapılır. Bir QR kodundaki bilgiler metin, URL, iletişim detayları veya diğer veri türleri olabilir.

IronQR'nin çok formatlı desteği, QR kodlarının farklı bağlamlar içinde yer aldığı gerçek dünya uygulamaları için gereklidir—pazarlama materyallerinden ürün ambalajlarına, dijital belgelere ve web içeriğine kadar. Çeşitli formatları destekleyerek IronQR, geliştiricilerin görüntü format uyumluluğunu dert etmeden sağlam uygulamalar oluşturmasını sağlar. IronQR'nin okuma yetenekleri hakkında daha fazla bilgi edinin ve bu esnekliğin geliştirme iş akışınızı nasıl iyileştirdiğini anlayın.

Her Görüntü Formatını Ne Zaman Kullanmalıyım?

Farklı görüntü formatları, QR kodu işleme sırasında farklı amaçlara hizmet eder:

  • PNG: Şeffaflık gerektiren veya görüntü kalitesinin önemli olduğu QR kodları için en iyisi. PNG'nin kayıpsız sıkıştırması, QR kodu desenlerinin net ve okunabilir kalmasını sağlar.
  • JPEG: QR kodları içeren fotoğraflar veya dosya boyutu bir endişeyse idealdir. Okunabilirliği etkileyen sıkıştırma hatalarından kaçınmak için daha yüksek kaliteli ayarları (%%80+) kullanın.
  • TIFF: Arşivleme amacıyla veya kurumsal ortamlarda taranan belgelerle çalışırken mükemmeldir.
  • WebP: Mükemmel kalite korunmasına rağmen modern format, web uygulamaları için idealdir.

Herhangi bir formatla en iyi sonuçlar için, baskıda en az 300 DPI çözünürlükte ve kontrastta resimler sağlamalısınız. Format bazlı optimizasyon teknikleri için ileri düzey QR okuma örneklerimize göz atın.

Görüntü Kalitesi Düşükse Ne Olur?

IronQR, kusurlu görüntüleri işlemek için hata toleransı özelliklerini içerir. Düşük kaliteli görüntülerle çalışırken, kütüphane çeşitli stratejilere başvurur:

  1. Hata Düzeltme: QR kodları hata düzeltme yeteneklerine (L, M, Q, H seviyeleri) sahiptir, bu da kodun %30'una kadar zarar gördüğünde verilerin kurtarılmasına olanak tanır.
  2. Makine Öğrenimi İyileştirmesi: IronQR'nin ML modelleri bulanıklık, bozulma ve kötü aydınlatma gibi yaygın sorunları algılar ve telafi eder.
  3. Ön İşleme: Otomatik görüntü geliştirme, kod çözme girişimlerinden önce kontrastı ve keskinliği iyileştirir.

Özel QR okuma modu seçeneklerini kullanarak zorlu senaryolar için okuma sürecini hassas ayar yapmayı düşünün:

// Example: Reading QR kodus with enhanced error correction
using IronBarcode;

public class EnhancedQRReader
{
    public static void ReadPoorQualityImage()
    {
        // Configure reader with multiple attempts and error correction
        var options = new BarcodeReaderOptions
        {
            Speed = ReadingSpeed.Detailed, // More thorough scanning
            ExpectMultipleBarcodes = true,  // Check for multiple codes
            ExpectBarcodeTypes = BarcodeType.QRCode // Focus on QR kodus only
        };

        using (var inputImage = Image.FromFile("blurry_qr_code.jpg"))
        {
            var qrImageInput = new QrImageInput(inputImage);
            var results = BarcodeReader.Read(qrImageInput, options);
            
            foreach (var result in results.Barcodes)
            {
                Console.WriteLine($"Decoded: {result.Value}");
                Console.WriteLine($"Confidence: {result.Confidence}%");
            }
        }
    }
}
C#

Bir QR Kodundan Değerleri Çekme

Çoğu IronQR fonksiyonu, birden fazla tespiti desteklemek için bir koleksiyon döndürür. results bir nesne dizisi olduğundan, kendine ait bir Value özelliği yoktur. Örnek kod, koleksiyondan ilk QrResult'yı özel olarak seçer ve onun Value'ini alır.

using System;
using System.Collections.Generic;
using System.Linq;
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 an 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}");

Bir Görüntüde QR Kodunun Yerini Algılama

IronQR, basit kod çözmenin ötesine geçerek bir QR kodunun görüntüde nerede bulunduğunu tam olarak belirler. Bu konumlandırma, PointF (0,0)'ın resmin sol üst köşesini temsil ettiği standart bir koordinat sistemi kullanır. QR kodunun köşelerinin tam mekansal koordinatları Points[] dizisi aracılığıyla erişilebilir.

Örnekte, tespit edilen QR kodunun tüm dört noktasının koordinatları alınır ve konsola yazdırılır.

Lütfen dikkate alın: Bu işlev tarafından döndürülen koordinatlar sıkı bir "zig-zag" sıralamasında saklanır: sol üst, sağ üst, sol alt ve son olarak sağ alt
using System;
using System.Collections.Generic;
using IronQr;
using System.Drawing;
using System.Linq;

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

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

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

// Read the input and get all embedded QR codes
IEnumerable<QrResult> results = reader.Read(imageInput);

// [TL, TR, BL, BR]
string[] labels = { "Top-Left", "Top-Right", "Bottom-Left", "Bottom-Right" };

var points = results.First().Points;

for (int i = 0; i < points.Length; i++)
{
    Console.WriteLine($"{labels[i]}: {points[i].X}, {points[i].Y}");
}

Girdi QR Kodu

QR kodu

Çıktı

Sistemin, her QR kodu köşesinin tam mekânsal koordinatlarını konsola kaydettiğine dikkat edin.

Kenar Algılama QR

Desteklenen QR Kod Türleri

Hem oluşturma hem de okuma için birçok türde QR kodu desteklenir. IronQR, çeşitli uygulama ihtiyaçlarını karşılamak için çeşitli QR kodu formatları için kapsamlı destek sunar. Dokümanlarımıza desteklenen QR formatları hakkında daha fazla bilgi edinin. Aşağıda desteklenen QR kodu türleri bulunmaktadır:

  • QRCode: Bugün en çok kullanılan standart QR kodu. Web sitesi URL'leri, iletişim bilgileri ve diğer uygulamalar için uygun olan 7.089 sayısal karakter veya 4.296 alfanümerik karakter depolayabilir.
Görüntü tarama testi için konumlandırma kareleri ve veri modüllerini gösteren net siyah-beyaz desenli örnek QR kodu
  • MicroQRCode: Sınırlı alanlar için tasarlanmış standart QR kodunun daha küçük bir versiyonu. Küçük ambalajlar veya küçük basılı etiketler için ideal olan 35 sayısal karakter veya 21 alfanümerik karakter depolayabilir.
Tipik QR kodu yapısını gösteren bulma desenleri ve veri modülleriyle standart QR kodu
  • RMQRCode: Kare yerine kompakt dikdörtgen bir versiyon olanRMQRKodu (RectangularMikro QRCode). Bu versiyon, dikdörtgen alanın mevcut olduğu uygulamalar için biçim oranında esneklik sağlar.
Standart konum işaretleri ve veri desenleriyle kare olmayan format gösterimi olan dikdörtgen QR kodu örneği

Doğru QR Kod Türünü Nasıl Seçerim?

Uygun QR kodu türünü seçmek, özel kullanım durumunuza ve kısıtlamalara bağlıdır:

  • Standart QR Kodu: Genel amaçlı uygulamalar için alan sınırsız olduğunda ve maksimum veri kapasitesine ihtiyaç duyulduğunda bunu seçin. URL'ler, WiFi kimlik bilgileri, vCard bağlantıları veya ayrıntılı ürün bilgileri için mükemmeldir. Uygulama detayları için QR kodu üretme örneklerimize bakın.

  • Micro QR Kodu: Elektronik bileşenler, mücevher etiketleri veya tıbbi cihazlar gibi küçük yüzeylerle çalışırken idealdir. Sınırlı kapasitesine rağmen, seri numaraları, basit URL'ler veya temel izleme kodları için mükemmeldir.

  • RMQR Kodu: Silindirik ürünlerdeki dar etiketler veya paketleme kenarlarındaki uzatılmış alanlar gibi özel boyutsal kısıtlamalara sahip olduğunda dikdörtgen kodları seçin.

Veri Depolama Sınırlamaları Nelerdir?

Veri kapasitesini anlamak, QR kodu uygulamanızı optimize etmenize yardımcı olur:

QR Kod TürüSadece SayısalAlfanümerikİkiliKanji
Standart QR7.0894.2962.9531.817
Mikro QR3521159
RMQRDeğişkenDeğişkenDeğişkenDeğişken

Veri depolama planlaması sırasında bu faktörleri dikkate alın:

  • Kullanılabilir alanı en üst düzeye çıkarmak için web bağlantıları için URL kısaltıcı kullanın
  • Büyük veri kümeleri için veri sıkıştırması uygulayın
  • Uygun hata düzeltme seviyelerini seçin (daha yüksek düzeltme kapasiteyi azaltır)

Gelişmiş uygulamalar için, estetiği veri kapasitesi ile dengelemek için özel QR kodu üretme kılavuzumuza göz atın.

Micro veyaRMQRKodlarını Ne Zaman Kullanmalıyım?

Micro veRMQRkodları belirli senaryolar için mükemmeldir:

Micro QR Kodları: kullanmak için mükemmeldir

  • Bileşen takibi gerektiren elektronik devre kartları
  • Küçük tıbbi cihazlarla hasta veya ilaç tanımlayıcılarına ihtiyaç duyanlar
  • Sınırlı oyma alanı olan mücevher doğrulama
  • Üretimde minyatür ürün etiketleri

RMQR Kodları: için en iyi performansı gösterir

  • Tüpler veya borular üzerindeki dar nakliye etiketleri
  • Kalem silindirleri veya araçlar üzerindeki uzatılmış alanlar
  • Afiş tarzı pazarlama materyalleri
  • Mevcut dikdörtgen tasarım unsurlarına entegrasyon

Farklı QR kod türlerini okuma için pratik bir örnek:

using IronBarcode;
using IronSoftware.Drawing;

public class MultiTypeQRReader
{
    public static void ReadVariousQRTypes()
    {
        // Configure reader to handle all QR kodu types
        var options = new BarcodeReaderOptions
        {
            ExpectBarcodeTypes = BarcodeType.QRCode | 
                                BarcodeType.MicroQRCode | 
                                BarcodeType.RectangularMicroQRCode
        };

        string[] imagePaths = {
            "standard_qr.png",
            "micro_qr.png", 
            "rectangular_qr.png"
        };

        foreach (var path in imagePaths)
        {
            using (var image = Image.FromFile(path))
            {
                var qrInput = new QrImageInput(image);
                var results = BarcodeReader.Read(qrInput, options);
                
                foreach (var qr in results.Barcodes)
                {
                    Console.WriteLine($"Type: {qr.BarcodeType}");
                    Console.WriteLine($"Data: {qr.Value}");
                    Console.WriteLine($"Format: {qr.Format}");
                    Console.WriteLine("---");
                }
            }
        }
    }
}
C#

Üretim dağıtımları için, platformunuza uygun paketi sağladığınızdan emin olmak için NuGet paketleri kılavuzumuzu inceleyin ve mevcut tüm yöntemler ve özelliklerin kapsamlı dökümantasyonu için API referansını kontrol edin.

Sıkça Sorulan Sorular

IronQR, QR kodlarını okumak için hangi görüntü formatlarını destekliyor?

IronQR, JPEG, PNG, GIF, TIFF, BMP, WBMP, WebP, ICO, WMF ve RawFormat dahil olmak üzere çeşitli görüntü formatlarından QR kodlarını okumayı destekler. Bu kapsamlı format desteği, QR kodlarını çeşitli kaynaklardan format dönüşümü olmadan işlemenize olanak tanıyan IronDrawing tarafından sağlanır.

C#'ta bir görüntü dosyasından QR kodunu nasıl okuyabilirim?

IronQR'u kullanarak bir QR kodu okumak için, öncelikle görüntünüzü Image.FromFile() ile yükleyin, yüklenen görüntüden bir QrImageInput nesnesi oluşturun ve ardından QR verilerini çözümlemek için BarcodeReader.Read() kullanın. Yöntem, her tespit edilen QR kodunun bilgilerine erişmenize olanak tanıyan sonuçlar döndürür.

Farklı medya türlerinde doğru QR kodu okumasını sağlayan teknoloji nedir?

IronQR, farklı medya türleri ve görüntü formatlarında doğru QR kodu çözümlemeyi sağlamak için gelişmiş makine öğrenmesi modelleri kullanır. Bu yapay zeka destekli yaklaşım, zorlu görüntü koşullarında bile yüksek doğruluğu sürdürmeye yardımcı olur.

Tek bir görüntüden birden fazla QR kodunu okuyabilir miyim?

Evet, IronQR, tek bir görüntüden birden fazla QR kodunu tespit edip okuyabilir. BarcodeReader.Read yöntemi, foreach döngüsü kullanarak her tespit edilen QR kodunun verilerine erişmenizi sağlayan bir sonuçlar koleksiyonu döndürür.

IronQR'un okuduğu QR kodlarında hangi tür veriler saklanabilir?

IronQR, QR kodlarında saklanan düz metin, URL'ler, iletişim detayları ve diğer yapılandırılmış veri türlerini çözümleyebilir. Çözülen bilgi, her BarcodeResult nesnesinin Value özelliği aracılığıyla erişilebilir.

What types of QR codes can IronQR read?

IronQR can read various types of QR codes, including Standard QR Code, Micro QR Code, and RMQR Code, supporting different use cases and data capacities for applications requiring compact or rectangular formats.

When should I choose Micro or RMQR codes?

Choose Micro QR codes for small surfaces like circuit boards or medical devices and RMQR codes for rectangular labels like narrow shipping labels or marketing materials that require fitting into elongated spaces.

How does IronQR locate a QR code within an image?

IronQR uses a standard coordinate system to pinpoint where a QR code is located within an image. It retrieves and prints the exact spatial coordinates of the QR code's corners using the Points[] array.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

Başlamaya Hazır mısınız?

Nuget Downloads 74,386Sürüm:2026.9yeni yayınlandı

Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez
PDF için C# NuGet Kütüphanesi
NuGet ile yükleyin

Sürüm: 2026.9

PM > Install-Package IronQR
nuget.org/packages/IronQR/
  1. Çözüm Gezgini'nde Referanslar'a sağ tıklayın, NuGet Paketlerini Yönet
  2. Gözat'ı seçin ve "IronQR" arayın
  3. Paketi seçin ve yükleyin
C# PDF DLL
DLL İndir

Sürüm: 2026.9

  1. IronQR'yi ~/Libs gibi Çözüm dizininde bir konuma indirin ve çıkartın
  2. Visual Studio Çözüm Gezgini'nde, Referanslar'a sağ tıklayın. Gözat'ı seçin, "IronQR.dll"

$999 'den başlayan lisanslar

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez