Bu yazımızda da Zxing.NET kütüphanesi kullanarak Csharp’ta görsel üzerinden barkod nasıl okunur buna değinelim.
Şimdi projemiz için bir windows form projesi açalım. Burada formumuza 1 adet buton, 1 adet picturebox ve bir adet label sürükledim. Tasarımım aşağıdaki şekilde gerçekleşti:

Her kontrolden birer adet olduğu için isim değişikliği yapmadım. Sadece görsel düzenlemeler mevcut.
Bu basit arayüzü bitirdikten sonra işlemlerimize başlayabiliriz. Amacımız picturebox üzerindeki barkodu aslında bir string texte çevirmek.
Daha sonra solution explorer penceresinde projeme sağ tıklıyorum ve Manage Nuget Packages diyorum.

Daha sonra orta kısımda Browse seçip, arama kutusuna Zxing yazıyorum. Zxing.NET kütüphanesini seçip, install diyerek yüklüyorum.

Değişikliklere izin verin. Yükleme bitince başarı ile tamamlandı şeklinde bir uyarı verecek, ayrıca projenizde referanslar alanında Zxing referanslarını da görmelisiniz.

Zxing.NET temelinde JAVA tarafından hazırlanmş olan açık kaynak kodlu bir kütüphanedir. 1 ve 2 boyutlu barkod görüntü işleme amaçlı kullanılmaktadır. Bir çok projede kullanılmaktadır. Bu arada Zxing, deyimi zebra crossing anlamına gelmektedir. Zebraların siyah beyaz çizgilerini bilirsiniz, malum barkod gibiler 😊
Şimdi kodlara geçelim. Öncelikle ne yapacağımı özetlersek; referanslarım içinde üst kısma;
Using Zxing;
Diyerek ilgili referans kütüphanesini ekliyorum. Öncelikle amacım bilgisayarımda var olan bir görsel, yani bir barkod dosyasını açmak olacak. Burada jpg türündeki dosyaları filtreleme yapacağım.
Eğer bir doküman seçildi ise o dokümanı picturebox kontrolüme alacağım. Daha sonra Barcode classından yeni bir nesne türeteceğim. Bu nesne vasıtası ile Picturebox kontrolümde yer alan görseli decode ederek, yani çözerek bir sonuç elde edip, bu sonuç değerini textboxa yazdıracağım. Barkod görselini stringe çevirebilmek için Barcode classı kullanılır.
Bu arada PictureBox üzerinde sağ tıklayarak sağda açılan alanda sizemode alanını Scretch Image yaptım.
Şimdi kodları paylaşalım:

Sonuca dair bir kaç görsel görelim:



Şimdilik bu kadar 🙂