Altbilgi içeriğine atla
IRONBARCODE KULLANARAK

Modern C# Tarama Kütüphanesi ile Xamarin Barkod Görüntüleri Yaratın ve okuyun

Xamarin barkod çözümleri, perakende, lojistik ve envanter yönetiminde Android ve iOS uygulamalarını sürdüren mobil geliştiriciler için önemli olmaya devam ediyor. Microsoft, Mayıs 2024'te resmi Xamarin desteğini sona erdirmiş olsa da, milyonlarca Xamarin uygulaması hala üretimde ve bu uygulamaların hala güvenilir bir şekilde barkod yaratması, taraması ve çözmesi gerekiyor. IronBarcode, yalnızca birkaç satır C# koduyla barkod oluşturma ve barkod okuma işlemlerini gerçekleştiren bir .NET barkod SDK'sıdır. Android, iOS ve Windows platformlarında bir barkod tarayıcı ve yaratıcısı olarak çalışır ve projenizi taşıma zamanı geldiğinde doğrudan .NET MAUI'ye geçiş yapar.

IronBarcode'un ücretsiz deneme sürümünü başlatın ve bugün projenize Xamarin barkod okuma ekleyin.

Xamarin Uygulamalarında Barkod Tarama Nasıl Çalışır?

Xamarin uygulamasında barkod tarama, cihazdaki kamera beslemesinden veya kaydedilmiş bir dosyadan barkod bilgisini alarak, ardından kodlanmış bilgiyi çözen bir tarama kütüphanesine bu verileri ileterek çalışır. Tarihsel olarak, birçok Xamarin geliştiricisi açık kaynak kodlu ZXing kütüphanesini (Zebra Crossing) kullanarak yeni bir ZXingScannerPage örneği oluşturur, bunu gezinme yığınına ekler ve barkodları işlemek için OnScanResult olayını kullanırdı. Xamarin.Forms'ta bu yaklaşım, temel QR kod tarama kullanım durumları için çalışsa da, ZXing yıllardır anlamlı hata düzeltmeleri almamış ve geliştiriciler, düşük ışıkta barkod tararken veya Data Matrix gibi karmaşık formatları çözerken sık sık hata durumları bildirmiştir.

IronBarcode, farklı bir yaklaşım benimseyen modern bir barkod tarayıcı SDK'sıdır. IronBarcode, canlı kamera arayüzüne sahip özel bir tarayıcı sayfası sunmak yerine, Xamarin uygulamanızın sağlayabileceği herhangi bir kaynak üzerinde çalışır: kamera çekimleri, kullanıcı tarafından yüklenen dosyalar, ekran görüntüleri veya PDF belgeleri. Bu, geliştiricilerin kullanıcı arayüzü ve tarama süreci üzerinde tam kontrole ihtiyaç duyduğu Xamarin barkod projeleri için esnek bir tarama kütüphanesi yapar. BarcodeReader sınıfı, 30'dan fazla barkod ve QR kodu formatını destekler ve SDK, düşük ışık koşullarında veya hasarlı barkodlarda barkod tarama performansını artıran yerleşik ön işleme filtrelerini içerir.

Xamarin çözümünüze IronBarcode NuGet paketini yükleyerek başlayın:

Install-Package BarCode

BarCode paketi, NuGet üzerinde mevcuttur ve .NET Standard 2.0'ı destekler, bu da onu Xamarin.Forms, Xamarin yerel projeleri ve Microsoft'un MAUI çerçevesi ile uyumlu hale getirir. Çekirdek SDK özellikleri için ek platforma özgü NuGet paketlerine veya yapılandırma adımlarına gerek yoktur; paketi yükleyin ve projenizde hemen test edin.

Xamarin Uygulamasında Barkodlar ve QR Kodları Nasıl Oluşturulur?

IronBarcode'un BarcodeWriter sınıfı ile cihaz ekranında görüntülemek, etiketleme veya veri alışverişi için barkod oluşturmak oldukça basittir. Aşağıdaki örnek, hem 1D hem de 2D barkodlar üretmesi gereken Xamarin barkod uygulamaları için yaygın bir örnektir.

using IronBarCode;
// Barcode generation: create a Code 128 barcode for product scanning
// Comment: BarcodeWriter handles all supported encoding formats
var barcode = BarcodeWriter.CreateBarcode(
    "PROD-2025-XMR",              // Value to encode in the barcode
    BarcodeWriterEncoding.Code128, // Barcode format for the scanner
    400, 150                       // Width and height in pixels
);
// Customize the barcode: add visible text below the barcode image
// Comment: this text helps users verify the encoded value
barcode.AddBarcodeValueTextBelowBarcode();
barcode.SaveAsPng("product_barcode.png");
// Generate a QR code that users can scan with any mobile device camera
// Comment: QR codes are ideal for URLs, contact data, and Wi-Fi config
var qrCode = BarcodeWriter.CreateBarcode(
    "https://ironsoftware.com",
    BarcodeWriterEncoding.QRCode,
    300, 300
);
// Configure margins and export the QR code as image lines of pixels
qrCode.SetMargins(10);
qrCode.SaveAsPng("qr_code.png");
using IronBarCode;
// Barcode generation: create a Code 128 barcode for product scanning
// Comment: BarcodeWriter handles all supported encoding formats
var barcode = BarcodeWriter.CreateBarcode(
    "PROD-2025-XMR",              // Value to encode in the barcode
    BarcodeWriterEncoding.Code128, // Barcode format for the scanner
    400, 150                       // Width and height in pixels
);
// Customize the barcode: add visible text below the barcode image
// Comment: this text helps users verify the encoded value
barcode.AddBarcodeValueTextBelowBarcode();
barcode.SaveAsPng("product_barcode.png");
// Generate a QR code that users can scan with any mobile device camera
// Comment: QR codes are ideal for URLs, contact data, and Wi-Fi config
var qrCode = BarcodeWriter.CreateBarcode(
    "https://ironsoftware.com",
    BarcodeWriterEncoding.QRCode,
    300, 300
);
// Configure margins and export the QR code as image lines of pixels
qrCode.SetMargins(10);
qrCode.SaveAsPng("qr_code.png");
Imports IronBarCode

' Barcode generation: create a Code 128 barcode for product scanning
' Comment: BarcodeWriter handles all supported encoding formats
Dim barcode = BarcodeWriter.CreateBarcode(
    "PROD-2025-XMR",              ' Value to encode in the barcode
    BarcodeWriterEncoding.Code128, ' Barcode format for the scanner
    400, 150                       ' Width and height in pixels
)

' Customize the barcode: add visible text below the barcode image
' Comment: this text helps users verify the encoded value
barcode.AddBarcodeValueTextBelowBarcode()
barcode.SaveAsPng("product_barcode.png")

' Generate a QR code that users can scan with any mobile device camera
' Comment: QR codes are ideal for URLs, contact data, and Wi-Fi config
Dim qrCode = BarcodeWriter.CreateBarcode(
    "https://ironsoftware.com",
    BarcodeWriterEncoding.QRCode,
    300, 300
)

' Configure margins and export the QR code as image lines of pixels
qrCode.SetMargins(10)
qrCode.SaveAsPng("qr_code.png")
$vbLabelText   $csharpLabel

Barkod Görüntüsü Çıktısı

Modern bir C# Tarama Kütüphanesi ile Xamarin Barkod Görüntüleri Oluşturma ve Okuma: Görüntü 1 - Oluşturulan barkod

Yukarıdaki kod, IronBarcode kullanarak birkaç satır kodla barkod oluşturmayı göstermektedir. Kod örneğindeki her bir yorum, her adımın amacını vurgulamaktadır. Kod, kodlanacak veriyi, BarcodeWriterEncoding enum'undan barkod formatını ve çıktı boyutlarını kabul etmektedir. IronBarcode'un SDK'sı, EAN-13, Code 39, QR code, Data Matrix, PDF417 ve Aztec dahil olmak üzere geniş bir kodlama türü yelpazesini destekler. GeneratedBarcode örneği oluşturduktan sonra, onu geniş çapta özelleştirebilirsiniz: boyutları ayarlamak için ResizeTo(), dolgu yapılandırmak için SetMargins() ve görünür etiketler eklemek için AddAnnotationTextAboveBarcode() kullanabilirsiniz. Oluşturulan barkodları, Android veya iOS için platforma özgü kod yazmadan PNG, JPEG, GIF, TIFF veya PDF olarak dışa aktarabilirsiniz.

QR kodlarına logo ekleme veya barkod renklerini özelleştirme gibi gelişmiş özellikler için barkod oluşturma eğitimi ve barkod oluşturma kodu örnek sayfasını inceleyin.

Kamera ve Dosya Kaynaklarından Barkodları Nasıl Okur ve Çözümlerim?

IronBarcode, Xamarin için bir barkod çözümü olarak cihaz kamerası ile yakalanan veya kullanıcının fotoğraf kütüphanesinden seçilen görüntülerden barkod okumada en yüksek değeri sunar. Tarama süreci, mükemmel dijital barkodlardan zorlu gerçek dünya kamera çekimlerine kadar her şeyi tutarlı bir yöntemle işler.

using IronBarCode;
// Comment: read and decode barcodes from a camera-captured file
var results = BarcodeReader.Read("scanned_photo.png");
// Iterate through each barcode scanning result
foreach (var result in results)
{
    // Comment: access the decoded barcode value and format type
    string value = result.Value;
    string type = result.BarcodeType.ToString();
    // Display the scanned barcode data to the user on screen
    Console.WriteLine($"Type: {type}, Value: {value}");
}
using IronBarCode;
// Comment: read and decode barcodes from a camera-captured file
var results = BarcodeReader.Read("scanned_photo.png");
// Iterate through each barcode scanning result
foreach (var result in results)
{
    // Comment: access the decoded barcode value and format type
    string value = result.Value;
    string type = result.BarcodeType.ToString();
    // Display the scanned barcode data to the user on screen
    Console.WriteLine($"Type: {type}, Value: {value}");
}
Imports IronBarCode

' Comment: read and decode barcodes from a camera-captured file
Dim results = BarcodeReader.Read("scanned_photo.png")

' Iterate through each barcode scanning result
For Each result In results
    ' Comment: access the decoded barcode value and format type
    Dim value As String = result.Value
    Dim type As String = result.BarcodeType.ToString()
    ' Display the scanned barcode data to the user on screen
    Console.WriteLine($"Type: {type}, Value: {value}")
Next
$vbLabelText   $csharpLabel

Barkod Verilerini Okuma

Modern bir C# Tarama Kütüphanesi ile Xamarin Barkod Görüntüleri Oluşturma ve Okuma: Görüntü 2 - Yüklenen barkoddan okunan yazdırılmış değer

Bu kod parçası bir dosyayı okuyucuya geçirir ve sonuçlar üzerinde döngü yapar. Her bir BarcodeResult örneği, barkod türü, çözülen metin, ikili veri, konum koordinatları ve güven puanına erişim sağlar; bu da geliştiricilere üretim uygulama ortamları için ihtiyaç duydukları her şeyi sunar. Desteklenen barkod türlerinin tam listesi için, barkod formatı destek sayfasına bakınız.

Gerçek dünya kullanım örneklerinde barkod tarama performansının önemli olduğu durumlar için — düşük ışıkta depo tarama, hareketli bir konveyörde hasar görmüş barkodların okunması veya tek bir sayfada birden fazla barkodun kodunun çözülmesi gibi durumlarda, BarcodeReaderOptions sınıfı, okuma sürecinin her yönünü yapılandırmanıza olanak tanır:

using IronBarCode;
// Comment: configure the barcode reader for challenging conditions
var options = new BarcodeReaderOptions
{
    // Comment: balance between scanning speed and accuracy on the device
    Speed = ReadingSpeed.Balanced,
    // Expect multiple barcodes per page or camera capture
    ExpectMultipleBarcodes = true,
    // Limit scanning to specific barcode types for faster results
    ExpectBarcodeTypes = BarcodeEncoding.QRCode
        | BarcodeEncoding.Code128
        | BarcodeEncoding.DataMatrix,
    // Auto-rotate barcodes captured at any camera angle
    AutoRotate = true,
    // Apply image filters to improve scanning in poor conditions
    ImageFilters = new ImageFilterCollection
    {
        new SharpenFilter(),       // Sharpen blurry camera captures
        new ContrastFilter(1.5f)   // Boost contrast for low light
    }
};
// Comment: read barcodes from a sample image using configured options
var results = BarcodeReader.Read("warehouse_scan.jpg", options);
// Iterate and display results for the user
foreach (var barcode in results)
{
    // Output each decoded barcode value from the scanner
    Console.WriteLine($"Found: {barcode.Value}");
}
using IronBarCode;
// Comment: configure the barcode reader for challenging conditions
var options = new BarcodeReaderOptions
{
    // Comment: balance between scanning speed and accuracy on the device
    Speed = ReadingSpeed.Balanced,
    // Expect multiple barcodes per page or camera capture
    ExpectMultipleBarcodes = true,
    // Limit scanning to specific barcode types for faster results
    ExpectBarcodeTypes = BarcodeEncoding.QRCode
        | BarcodeEncoding.Code128
        | BarcodeEncoding.DataMatrix,
    // Auto-rotate barcodes captured at any camera angle
    AutoRotate = true,
    // Apply image filters to improve scanning in poor conditions
    ImageFilters = new ImageFilterCollection
    {
        new SharpenFilter(),       // Sharpen blurry camera captures
        new ContrastFilter(1.5f)   // Boost contrast for low light
    }
};
// Comment: read barcodes from a sample image using configured options
var results = BarcodeReader.Read("warehouse_scan.jpg", options);
// Iterate and display results for the user
foreach (var barcode in results)
{
    // Output each decoded barcode value from the scanner
    Console.WriteLine($"Found: {barcode.Value}");
}
Imports IronBarCode

' Comment: configure the barcode reader for challenging conditions
Dim options As New BarcodeReaderOptions With {
    ' Comment: balance between scanning speed and accuracy on the device
    .Speed = ReadingSpeed.Balanced,
    ' Expect multiple barcodes per page or camera capture
    .ExpectMultipleBarcodes = True,
    ' Limit scanning to specific barcode types for faster results
    .ExpectBarcodeTypes = BarcodeEncoding.QRCode Or BarcodeEncoding.Code128 Or BarcodeEncoding.DataMatrix,
    ' Auto-rotate barcodes captured at any camera angle
    .AutoRotate = True,
    ' Apply image filters to improve scanning in poor conditions
    .ImageFilters = New ImageFilterCollection From {
        New SharpenFilter(),       ' Sharpen blurry camera captures
        New ContrastFilter(1.5F)   ' Boost contrast for low light
    }
}

' Comment: read barcodes from a sample image using configured options
Dim results = BarcodeReader.Read("warehouse_scan.jpg", options)

' Iterate and display results for the user
For Each barcode In results
    ' Output each decoded barcode value from the scanner
    Console.WriteLine($"Found: {barcode.Value}")
Next
$vbLabelText   $csharpLabel

Speed özelliği, hız ve doğruluk arasında dengeyi kontrol eder. Yüksek hacimli taramalar için ReadingSpeed.Faster'ı veya zorlu barkodları en iyi şekilde algılamak için ReadingSpeed.Detailed'i kullanın. ExpectBarcodeTypes yapılandırması, tarayıcı SDK'sının hangi formatları kontrol edeceğini sınırlandırır, böylece yanlış pozitif hata sonuçları önlenir ve performans iyileştirilir. Otomatik Döndürme özelliği, cihaz kamerası tarafından garip açılarda yakalanan barkodları otomatik olarak düzeltirken, Keskinleştirme Filtresi ve Kontrast Filtresi düşük ışık koşullarında barkod taramayı geliştirir. Geliştiriciler, tarayıcının yakalanan bir sayfanın belirli bir bölgesine odaklanmasını sağlamak amacıyla CropArea özelliği aracılığıyla zoom tarzı kırpma işlemini de kullanabilirler.

Tüm okuyucu yapılandırmasının tam adımı için, görsellerden barkod okuma kılavuzu ve BarcodeReaderOptions API referansına bakın. PDF belgelerinden barkodları çözümlemesi gereken geliştiriciler, PDF barkod okuma yöntemine de bakmalıdır.

Mobil Barkod Çözümü İçin En İyi Kullanım Alanları Nelerdir?

Xamarin barkod ve QR kod tarama çözümleri, çeşitli endüstrilerde onlarca kullanım senaryosunu destekler. İşte IronBarcode'un mobil cihazlarda değer sunan hem barkod tarayıcı hem de üretici sağladığı en yaygın senaryolar:

Envanter ve depo yönetimi: Android ve iOS cihaz kullanıcıları, ürünler ve raflar üzerindeki barkodları tarayarak stokları gerçek zamanlı izler, manuel veri girişindeki hata oranlarını azaltır ve hızını artırır. Herhangi bir depo uygulaması, hızlı ve güvenilir barkod taramasından fayda sağlar.

  • Perakende satış noktası: Hesapta QR kodu tarama, hızlı ürün aramaları, kupon kullanımı ve mobil ödeme işlemleri kullanıcıya uygulama ekranında görünür şekilde olanak tanır. Tarama fonksiyonu hem 1D hem de 2D formatlarını işler. Lojistik ve nakliye: Android ve iOS cihazlardan oluşan bir filo üzerinden güzergah doğrulama ve teslimat onayı için paketlerin üzerindeki barkodların taranması. IronBarcode, tarayıcı sayfa görünümündeki kırışmış veya kısmen gizlenmiş etiketlerden bile barkod çözebilir.
  • Etkinlik giriş kontrolü: Konferans kapılarında QR kodlarını çözen bir Xamarin uygulaması, anında katılımcı doğrulaması sağlar — varsayılan kağıt biletler veya manuel hesap aramaları gerekmez. Uygulama her kodu bir saniyeden kısa sürede okur. Sağlık: Hasta bileklikleri, ilaç etiketleri ve laboratuvar örnekleri üzerindeki barkodlar mobil cihazlar tarafından taranarak hata durumları önlenir ve kullanıcı tarafından doğru tedavi sağlanır. Uygulamadaki her okuma sayfası belirli barkod türlerine göre özelleştirilebilir.

IronBarcode, .NET Standard, .NET Core ve .NET MAUI dahil olmak üzere platformlar arasında kapsamlı bir barkod tarayıcı olarak tüm bu Xamarin barkod kullanım durumları için destek sağlar. Üretimde bir Xamarin barkod çözümünü sürdüren geliştiriciler için, IronBarcode sürekli destek, düzenli güncellemeler ve net lisanslama seçenekleri sunar. Xamarin'dan .NET MAUI'ye geçiş yol haritasında olduğunda, IronBarcode sorunsuz bir şekilde geçiş yapar, kod yeniden yazılması gerekmez. Adım adım bir örnek için .NET MAUI barkod tarayıcı öğreticisini inceleyin.

Microsoft'un Xamarin projelerini taşıma için geçiş rehberi, en son çapraz platform çerçevesine geçiş yapmak için detaylı adımlar sunar. Yaygın Xamarin barcode sorunlarını kapsayan bu Stack Overflow gönderisinde topluluk çözümlerine faydalı bir bağlantı da bulabilirsiniz ve bu Reddit'teki Xamarin geliştirici topluluğu bağlantısı farklı platformlarda mobil barcode okuma yaklaşımları hakkında ek gönderi tartışmaları barındırır.

Bugün Xamarin Barkod Taramaya Nasıl Başlanır?

IronBarcode, Xamarin üzerinde barkod oluşturmayı ve barkod taramayı hızlı, güvenilir ve geliştirici dostu hale getirir. 30'dan fazla barkod formatı için destek sunar, otomatik döndürme ve özelleştirilebilir ön işleme gibi gelişmiş özellikler ile temiz ve okunabilir kod satırlarını koruyan akıcı bir C# arayüzüne sahiptir. Çözüm, basit bir QR kod örnek uygulaması oluşturmaktan, PDF belgelerinden barkod işlemesine veya bir Android uygulaması ya da iOS uygulaması için tam bir barkod okuyucu oluşturmaya kadar her ne gerektirirse gerektirsin, IronBarcode bunların hepsini tek bir iyi belgelenmiş kütüphane içinde halleder. API'deki her işlev, üretim uygulaması ortamlarında netlik ve kullanım kolaylığı için tasarlanmıştır.

IronBarcode'u Xamarin projenizde test edin, ücretsiz deneme için kaydolun. Üretime hazır olduğunuzda, lisanslama seçeneklerini keşfedin, başlangıç fiyatı için fiyat sayfasına bağlantı yaparak detaylar için $999. Satın alma sonrası destek için geliştiriciler, lisans ek modülleri sayfası üzerinden kapsamalarını özelleştirebilir.

Şimdi IronBarcode ile başlayın.
green arrow pointer

Sıkça Sorulan Sorular

IronBarcode, Xamarin uygulama geliştirmesini nasıl destekler?

IronBarcode, Xamarin uygulama geliştiricilerinin birkaç satır C# kodu ile barkod yaratmalarını, okumalarını ve çözmelerini sağlar. Android, iOS ve Windows platformlarını destekleyerek mobil uygulamalarda sorunsuz barkod işlevselliği sağlar.

IronBarcode hem barkod tarama hem de yaratma için kullanılabilir mi?

Evet, IronBarcode bir barkod tarayıcı ve yaratıcı olarak işlev görür, geliştiricilerin Xamarin uygulamalarında kolayca barkod oluşturmalarına ve okumalarına olanak tanır.

IronBarcode hangi barkod türlerini destekler?

IronBarcode, Kod 128, Veri Matrisi ve QR kodlar dahil olmak üzere çeşitli barkod türlerini destekleyerek farklı uygulama ihtiyaçlarına göre çok yönlülük sunar.

IronBarcode, .NET MAUI ile uyumlu mu?

Evet, IronBarcode, Xamarin'den .NET MAUI'ye geçerken sürekli destek ve işlevsellik sağlayacak şekilde tasarlanmıştır.

IronBarcode mevcut Xamarin uygulamaları için neden önemlidir?

Microsoft'un Xamarin için resmi desteği sonlandırmasıyla birlikte, IronBarcode, perakende ve lojistik gibi çeşitli endüstrilerde mevcut Xamarin uygulamalarında barkod işlevselliğini sürdürmek için güvenilir bir çözüm sunar.

IronBarcode lojistik ve envanter yönetiminde nasıl yardımcı olur?

IronBarcode, lojistik ve envanter yönetiminde barkodları etkili bir şekilde üreterek ve çözerek, izleme ve envanter kontrolü gibi süreçleri hızlandırır.

IronBarcode hangi platformları destekler?

IronBarcode, Android, iOS ve Windows platformlarını destekler, bu da onu çapraz platform barkod uygulamaları için çok yönlü bir araç haline getirir.

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ı...

Daha Fazla Oku

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara