Altbilgi içeriğine atla
IRONBARCODE KULLANARAK
C# Windows Uygulamasında Barkod Tarayıcıyı Nasıl Okurum

C# Windows Uygulamalarında Barkod Tarayıcıları Nasıl Kullanılır

Bu öğretici, bir örnek olarak IronBarcode kütüphanesini kullanarak C# Konsol Uygulamaları ve .NET Windows Forms Uygulamalarında QR kodlarını ve barkodları taramayı gösterecektir.

IronBarcode kütüphanesini kullanarak, birden çok barkod eşzamanlı olarak taranabilir ve okunabilir, ayrıca kusurlu görüntüleri de başarıyla tarayabilir. Öncelikle barkod tarayıcının ne olduğunu açıklığa kavuşturalım.

Barkod Tarayıcı Nedir?

Barkod, farklı genişliklerdeki bir dizi paralel siyah çizgi ve beyaz boşluktan oluşan kare veya dikdörtgen bir görüntüdür. Bir barkod tarayıcı veya barkod okuyucu, basılmış barkodları okuyabilen, barkodun içindeki veriyi çözebilen ve veriyi bir bilgisayara gönderebilen bir cihazdır.

Aşağıdaki adımlar, IronBarcode Kütüphanesi yardımıyla bir barkod tarayıcının nasıl oluşturulacağını tanıtacaktır.

C&#35'de Barkodlar Nasıl Okunur

  • Microsoft Visual Studio'da bir .NET Windows Forms Uygulama projesi oluşturun
  • Barkod kütüphanesini kurun
  • Herhangi bir barkod veya QR kodunu okuyun
  • Tek bir taramada birden fazla barkodu veya QR kodunu okuyun
  • IronBarcode'un kusurlu taramalardan ve fotoğraflardan okuma yapmasına izin verin

1. Microsoft Visual Studio'da bir Windows Forms Uygulaması oluşturun

Visual Studio'yu açın > Yeni Proje Oluştur üzerine tıklayın > Windows Forms Uygulama Şablonu seçin > İleriye basın > Projeyi adlandırın > İleriye basın > Hedef .NET Çatınızı seçin > Oluştur düğmesine tıklayın.

Projeyi oluşturduktan sonra formu, Visual Studio araç kutusundan aşağıdaki şekilde tasarlayın: PictureBox, Label, TextBox ve Button kontrolleri.

C# Windows Uygulamasında Barkod Tarayıcılarını Kullanma, Şekil 1: Barkod Tarayıcı Barkod Tarayıcı

2. C&#35'te .NET Barkod Kütüphanesini Kurun

Barkod Kütüphanesi aşağıdaki üç yöntemden biri kullanılarak kurulabilir:

1. Paket Yöneticisi Konsolu

Paket Yöneticisi Konsolu'na aşağıdaki komutu yazın. Bu, sizin için paketi indirip kuracaktır.

Install-Package BarCode

2. NuGet Paket Yöneticisi Çözümü

NuGet Paket Çözümü'nü kullanarak Barkod Kütüphanesini de kurabilirsiniz. Sadece bu adımları izleyin:

Araçlar > NuGet Paket Yöneticisi > Çözüm İçin NuGet Paketlerini Yönet üzerine tıklayın.

Bu sizin için NuGet Paket Yöneticisi'ni açacaktır. Gezinmeye tıklayın ve Barkod'u arayın, ardından sınıf kütüphanesini yükleyin.

3. Bağlantıdan İndirme

Alternatif olarak, IronBarCode.Dll indirilebilir ve projenize referans olarak eklenebilir.

İndirdikten sonra barkod okuyucu projenize aşağıdaki referansları ekleyin.

using IronBarCode;
using IronBarCode;
Imports IronBarCode
$vbLabelText   $csharpLabel

3. Herhangi Bir Barkodu veya QR Kodunu Okuyun

.NET'te barkod veya QR kodunu okumak, IronBarcode kütüphanesini ve .NET Barkod Okuyucu kullanarak inanılmaz derecede kolaydır.

Barkod Tarayıcı

Projenizde okumak istediğiniz resmi arayın. Bu PictureBox; içinde açılacak. "kod tara"ya şimdi tıklayın. Metin, metin kutusunda görünecektir.

"gözat" düğmesi için bir resim açmak için kod işte:

// Open file dialog   
OpenFileDialog open = new OpenFileDialog();
// Image filters  
open.Filter = "Image Files(*.jpg; *.png; *.jpeg; *.gif; *.bmp)|*.jpg;*.png;*.jpeg;*.gif;*.bmp";
if (open.ShowDialog() == DialogResult.OK) {  
    // Display image in PictureBox
    pictureBox1.Image = new Bitmap(open.FileName); 
    // Store image file path in class data member. Initialize it as string ImageFileName;
    ImageFileName = open.FileName; 
}
// Open file dialog   
OpenFileDialog open = new OpenFileDialog();
// Image filters  
open.Filter = "Image Files(*.jpg; *.png; *.jpeg; *.gif; *.bmp)|*.jpg;*.png;*.jpeg;*.gif;*.bmp";
if (open.ShowDialog() == DialogResult.OK) {  
    // Display image in PictureBox
    pictureBox1.Image = new Bitmap(open.FileName); 
    // Store image file path in class data member. Initialize it as string ImageFileName;
    ImageFileName = open.FileName; 
}
' Open file dialog   
Dim open As New OpenFileDialog()
' Image filters  
open.Filter = "Image Files(*.jpg; *.png; *.jpeg; *.gif; *.bmp)|*.jpg;*.png;*.jpeg;*.gif;*.bmp"
If open.ShowDialog() = DialogResult.OK Then
	' Display image in PictureBox
	pictureBox1.Image = New Bitmap(open.FileName)
	' Store image file path in class data member. Initialize it as string ImageFileName;
	ImageFileName = open.FileName
End If
$vbLabelText   $csharpLabel

"kod tara" düğmesi için kod:

// Read the barcode from the image file path
BarcodeResult Result = BarcodeReader.Read(ImageFileName);
// Display the decoded text in TextBox
textBox1.Text = Result.Text;
// Read the barcode from the image file path
BarcodeResult Result = BarcodeReader.Read(ImageFileName);
// Display the decoded text in TextBox
textBox1.Text = Result.Text;
' Read the barcode from the image file path
Dim Result As BarcodeResult = BarcodeReader.Read(ImageFileName)
' Display the decoded text in TextBox
textBox1.Text = Result.Text
$vbLabelText   $csharpLabel

Barkod tarayıcı, metin kutusunda şu şekilde barkod verilerini gösterir:

C# Windows Uygulamasında Barkod Tarayıcılarını Kullanma, Şekil 2: C# ile Taratılacak Barkod Görüntüsü C# ile Tarama Yapılacak Barkod Görüntüsü

QR Kod Tarayıcı

Bu bölümde, IronBarcode Kütüphanesi gerçek dünya durumlarında eğik QR kodları ile etkili bir şekilde başa çıkıyor. Her ne kadar eğik açılı QR kodu Read yöntemiyle işlenip okunabilse de, yine de çözmek daha fazla zaman alabilir. IronBarcode kütüphanesi, bu tür resim girişleriyle başa çıkmak için ekstra bir parametre olarak BarcodeReaderOptions kullanmanın özelleştirilmiş bir yolunu sağlar. Kod şu şekildedir:

// Define a collection of image filters to apply
var filtersToApply = new ImageFilterCollection() {
    new SharpenFilter(),
    new InvertFilter(),
    new ContrastFilter(),
    new BrightnessFilter(),
    new AdaptiveThresholdFilter(),
    new BinaryThresholdFilter()
};

// Configure barcode reader options with specified filters
BarcodeReaderOptions myOptionsExample = new BarcodeReaderOptions() {
    ImageFilters = filtersToApply,
    ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128,
};

// Read the barcode/QR code with custom options and display result
BarcodeResult Result = BarcodeReader.Read(ImageFileName, myOptionsExample);
textBox1.Text = Result.Text;
// Define a collection of image filters to apply
var filtersToApply = new ImageFilterCollection() {
    new SharpenFilter(),
    new InvertFilter(),
    new ContrastFilter(),
    new BrightnessFilter(),
    new AdaptiveThresholdFilter(),
    new BinaryThresholdFilter()
};

// Configure barcode reader options with specified filters
BarcodeReaderOptions myOptionsExample = new BarcodeReaderOptions() {
    ImageFilters = filtersToApply,
    ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128,
};

// Read the barcode/QR code with custom options and display result
BarcodeResult Result = BarcodeReader.Read(ImageFileName, myOptionsExample);
textBox1.Text = Result.Text;
' Define a collection of image filters to apply
Dim filtersToApply = New ImageFilterCollection() From {
	New SharpenFilter(),
	New InvertFilter(),
	New ContrastFilter(),
	New BrightnessFilter(),
	New AdaptiveThresholdFilter(),
	New BinaryThresholdFilter()
}

' Configure barcode reader options with specified filters
Dim myOptionsExample As New BarcodeReaderOptions() With {
	.ImageFilters = filtersToApply,
	.ExpectBarcodeTypes = BarcodeEncoding.QRCode Or BarcodeEncoding.Code128
}

' Read the barcode/QR code with custom options and display result
Dim Result As BarcodeResult = BarcodeReader.Read(ImageFileName, myOptionsExample)
textBox1.Text = Result.Text
$vbLabelText   $csharpLabel

Eğik QR kodu görüntüsünü açtıktan sonra çıktı aşağıdaki gibi olacaktır:

C# Windows Uygulamasında Barkod Tarayıcılarını Kullanma, Şekil 4: Eğik QrCode Görüntüsü Eğik QrCode Görüntüsü

Tek Bir Taramada Birden Fazla Barkodu Okumak

PDF Belgeleri

Barkod görüntüleri bir PDF dosyasından taranabilir ve her sonuç istenen şekilde uygun bir şekilde gösterilebilir. Aşağıdaki örnek kod, bir PDF dosyasından birden fazla barkod okumanıza olanak tanır.

// Scan for multiple barcodes within a PDF document
BarcodeResult[] PDFResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");

// Work with the results found
foreach (var PageResult in PDFResults) { 
    string Value = PageResult.Value;
    int PageNum = PageResult.PageNumber;
    System.Drawing.Bitmap Img = PageResult.BarcodeImage;
    BarcodeEncoding BarcodeType = PageResult.BarcodeType;
    byte[] Binary = PageResult.BinaryValue;
    Console.WriteLine(PageResult.Value + " on page " + PageNum);
}
// Scan for multiple barcodes within a PDF document
BarcodeResult[] PDFResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");

// Work with the results found
foreach (var PageResult in PDFResults) { 
    string Value = PageResult.Value;
    int PageNum = PageResult.PageNumber;
    System.Drawing.Bitmap Img = PageResult.BarcodeImage;
    BarcodeEncoding BarcodeType = PageResult.BarcodeType;
    byte[] Binary = PageResult.BinaryValue;
    Console.WriteLine(PageResult.Value + " on page " + PageNum);
}
' Scan for multiple barcodes within a PDF document
Dim PDFResults() As BarcodeResult = BarcodeReader.ReadPdf("MultipleBarcodes.pdf")

' Work with the results found
For Each PageResult In PDFResults
	Dim Value As String = PageResult.Value
	Dim PageNum As Integer = PageResult.PageNumber
	Dim Img As System.Drawing.Bitmap = PageResult.BarcodeImage
	Dim BarcodeType As BarcodeEncoding = PageResult.BarcodeType
	Dim Binary() As Byte = PageResult.BinaryValue
	Console.WriteLine(PageResult.Value & " on page " & PageNum)
Next PageResult
$vbLabelText   $csharpLabel

PDF dosyalarında bulunan Barkod ve QR kodu:

C# Windows Uygulamasında Barkod Tarayıcılarını Kullanma, Şekil 3: C# - PDF Sonuçlarından Barkod Okuma PDF sonuçlarından Barkodları Okuma - C#

Kusurlu Görüntülerden Barkod Okuma

Gerçek dünya kullanım durumlarında, barkodlar genellikle görüntülerde, taramalarda, küçük resimlerde veya fotoğraflarda kusurlar içerir ve dijital gürültü veya eğiklik içerebilir. Bu bölüm, küçük resimlerden barkod verilerini nasıl okuyacağınızı gösterir.

Küçük Resimler

IronBarcode Kütüphanesi, bozuk bir barkod küçük resmi bile okuyabilen C# Barkod Oluşturucusu kullanır.

C# Windows Uygulamasında Barkod Tarayıcıları Nasıl Kullanılır, Şekil 5: Otomatik barkod küçük resim boyutu düzeltmesi. C# ile IronBarcode kullanarak okunabilir dosya Otomatik barkod küçük resim boyutu düzeltmesi. C# ile IronBarcode kullanarak okunabilir dosya

Gerçek bir barkodu makul şekilde temsil edemeyecek kadar küçük olan barkod görüntülerini otomatik olarak algılar ve ardından küçük resim oluşturma ile ilişkili tüm dijital gürültüyü ve keskinleştirmeyi düzeltir, böylece yine de okunabilir hale gelir.

// Small or 'Thumbnail' barcode images are automatically detected by IronBarCode and corrected for wherever possible even if they have much digital noise.
BarcodeResult SmallResult = BarcodeReader.Read("ThumbnailOfBarcode.gif");
// Small or 'Thumbnail' barcode images are automatically detected by IronBarCode and corrected for wherever possible even if they have much digital noise.
BarcodeResult SmallResult = BarcodeReader.Read("ThumbnailOfBarcode.gif");
' Small or 'Thumbnail' barcode images are automatically detected by IronBarCode and corrected for wherever possible even if they have much digital noise.
Dim SmallResult As BarcodeResult = BarcodeReader.Read("ThumbnailOfBarcode.gif")
$vbLabelText   $csharpLabel

Özet

IronBarcode, .NET yazılım kütüphanesi ve C# QR Kod Oluşturucusu, geniş bir barkod görüntü formatı yelpazesini taramanız ve okumanız için esnek bir araçtır, bu barkodlar tam ekran yakalamaları ya da fotoğraflar, taramalar veya diğerleri olsun kusurlu gerçek dünya görüntüleri olabilir. Ayrıca, IronBarcode, barkod okuma hızını artırmak için kırpma bölgeleri veya çoklu iş parçacığı (multi-threading) ve ML modelinin doğruluğu gibi birçok özelleştirme seçeneği sunar. IronBarcode hakkında daha fazla bilgi için resmi belgeler sayfasını ziyaret edin.

Şu anda, tam Iron Suite'i satın alırsanız, sadece iki fiyatına beş kütüphane alabilirsiniz.

Sıkça Sorulan Sorular

C# uygulamalarinda barkod tarayici nedir?

Barkod tarayici, yazili barkodlari okuyan, bilgiyi dekod eden ve bilgisayara gonderen bir cihazdir. C# uygulamalarinda, bu işlev kütüphaneler kullanilarak gerceklestirilebilir; ornegin IronBarcode gibi.

C# kullanarak barkod tarama için bir Windows Forms Uygulamasi nasil oluşturabilirim?

C#'ta barkod tarama için bir Windows Forms Uygulamasi oluşturmak için Visual Studio'yu acin, 'Windows Forms Uygulama Sabiti'ni kullanarak yeni bir proje oluşturun, hedef .NET Cercevenizi konfigüre edin ve formu tasarlamak için PictureBox, Label, TextBox ve Buton gibi kontrol nesnelerini kullanin.

C# projesinde bir barkod kütüphanesi yuklemek için önerilen metod nedir?

Bir barkod kütüphanesi olarak IronBarcode'u, Install-Package IronBarCode komutuyla Paket Yönetici Konsolu uzerinden, NuGet Paket Yönetici uzerinden veya DLL indirip referans ekleyerek C# projenize yukleyebilirsiniz.

C# kütüphanesi kullanarak tek bir taramada birden fazla barkod okumak mumkun mu?

Evet, IronBarcode kullanarak, PDF belgelerinde bile BarcodeReader.ReadPdf metodunu kullanarak tek bir taramada birden fazla barkod okuyabilirsiniz.

Kütüphane nasil dusuk kaliteli resimlerden barkod okumayi basarir?

IronBarcode, dijital gurultuyu azaltmak için resim filtreleri ve buyutme teknigi kullanarak dusuk kaliteli resimlerden barkodlari yorumlayabilir ve doğru okuma saglar.

C# kütüphaneleri, IronBarcode gibi, hangi barkod formatlarını destekler?

IronBarcode, QR kodlari ve Code128 dahil olmak uzere genis bir barkod formatini destekler. Bu formatlari, resimler yanlis olsa veya kamera ile cekilmis olsa bile okuyabilir.

.NET uygulamasında barkod okuma işlemini nasıl gerçekleştirebilirim?

Barkod okunmasini gerceklestirmek için, bir resmi bir PictureBox'a yükleyin, 'kod tarama' eylemini tetikleyin ve dekod edilen metni bir TextBox içerisinde işleyin ve gösterin.

IronBarcode, eğik veya yalpa yapmış QR kodlarını etkili bir şekilde yönetebilir mi?

Evet, IronBarcode, doğru okuma için gerekli resim filtreleri ve ayarlarini uygulamak için BarcodeReaderOptions kullanarak eğik QR kodlarını etkili bir şekilde yönetebilir.

IronBarcode, barkod okumak için hangi özellestirme özelliklerini sunmaktadir?

IronBarcode, tarama hizini ve doğrulugunu arttirmak için bolge kirpma, coklu-is parcacigi ve parametre ayarlari gibi özellikler sunar.

C#'ta barkod kütüphaneleri kullanımina iliskin daha kapsamli bilgiye nereden ulasabilirim?

C#'ta barkod kütüphaneleri kullanımina iliskin daha detayli bilgi için, Iron Software web sitesindeki resmi doküman sayfasini ziyaret edebilirsiniz.

Jordi Bardia
Yazılım Mühendisi
Jordi Python, C# ve C++ konularında en yetkin, Iron Software'deki yeteneklerini kullanmadığı zamanlarda; oyun programlıyor. Ürün testi, ürün geliştirme ve araştırma sorumluluklarını paylaşan Jordi, sürekli ürün gelişimine büyük değer katıyor. Çeşitli deneyimleri onu ...
Daha Fazlasını Oku

Iron Destek Ekibi

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