C#

C# QR Kod Oluşturma

Herkese merhaba, C# yazılarımıza kaldığımız yerden devam ediyoruz. Bu yazımızda C# ile QR Code oluşturmayı anlatacağım. Hadi başlayalım !

Zen.Barcode.Rendering.Framework Kütüphanesi

C# ile QR Code oluşturmak için bir çok yolumuz bulunmakta. Bunlardan bir tanesi kendi QR Code oluşturma kodumuzu yazmak, bir diğeri ise QR Code oluşturan paketleri kullanmak. Bu yazıda hazır kütüphane kullanarak QR Code oluşturmayı anlatacağım ve kullanacağımız paketin adı Zen.Barcode.Rendering.Framework. Bu paket C# kurulumu ile beraber gelen paketlerden olmayıp 3. parti bir paket olduğu için indirip projemize dahil etmemiz gerekiyor. 3. parti paketleri projeye dahil etmenin en kolay ve hızlı yolu Nuget gibi bir paket yöneticisi kullanmak olacaktır. Nuget, Visual Studio kurulumu ile beraber gelen bir paket yöneticisi ve Visual Studio üzerinde gömülü bir terminal üzerinden komutlar girerek çalışmakta. Visual Studio üzerinden Tools > Nuget Package Manager > Package Manager Console adımlarını izleyerek Nuget terminalini açabilirsiniz. Zen.Barcode.Rendering.Framework paketini Nuget ile indirip projeye dahil etmek için ise şöyle bir komut girmemiz gerekiyor;

install-package Zen.Barcode.Rendering.Framework

Bu komutun ardından Nuget, Zen.Barcode.Rendering.Framework paketini indirecek ve projeye dahil edecektir. Paketi indirip projeye dahil etmiş olsakta henüz kullanamamaktayız. Kullanabilmek için kod yazacağımız C# dosyasını açarak dosyanın en başına

using Zen.Barcode;

satırını eklememiz gerekiyor. Bu satırı da ekledikten sonra artık Zen.Barcode.Rendering.Framework paketini kullanarak QR Code işlemleri yapabiliriz.

Form Yapısı

Öncelikle QR Code oluşturacağımız veriyi dışarıdan alalım ve bu verinin QR kodunu hazırlayıp form üzerindeki bir PictureBox üzerinde gösterelim. Dışarıdan veri almak için TextBox, veriyi QR koda çevirmek için ise bir tane Button ekleyelim. Yani formumuzun tasarımı şöyle olsun;

csharp qr code olusturma 1
C# QR Kod Oluşturma – Form Tasarımı

Kullanıcı TextBox içerisine QR Code oluşturmak istediği veriyi yazacak ve Button’a tıklayacak, ardından QR Code oluşturulup kodun resmi de PictureBox üzerinde görüntülenecektir. Yani biz kodumuzu Button’a tıklandıktan sonra yazmamız gerekiyor. Button’a tıklandığında gerçekleşmesini istediğimiz kodları Button’un Click eventi içerisinde yazmamız gerekiyor, yani Click eventi oluşturmalıyız. Bunun için butona çift tıklayabilir yada butonu mouse ile seçtikten sonra Properties ekranından Events kısmına geçerek Click satırına çift tıklayabiliriz. Bundan sonra butonun Click metodunun içerisine geçiş yapalım ve kodlarımızı yazmaya hazır olalım.

CodeQrBarcodeDraw Sınıfı

Zen.Barcode.Rendering.Framework paketi ile QR Code oluşturmak için CodeQrBarcodeDraw sınıfını kullanacağız. Tabiki kullanabilmek için yeni bir nesnesini türetmemiz gerekiyor fakat bu sınıfın yeni bir nesnesi constructor metodunu kullanarak yapılmıyor, bunun yerine BarcodeDrawFactory sınıfı altındaki CodeQr propertysi ile yapılmakta. Yani şöyle bir kod yazmamız gerekiyor;

CodeQrBarcodeDraw qrCode = BarcodeDrawFactory.CodeQr;

Barkod Oluşturma ve PictureBox’ta Gösterme

QR Code oluşturan sınıfın yeni bir nesnesini oluşturduktan sonra artık QR Code oluşturmaya geçebiliriz. Bunu da qrCode nesnesi altındaki Draw() fonksiyonunu kullanarak yapacağız. Bu fonksiyon string tipte QR Code yapılacak veriyi ve int tipte bar yüksekliğini parametre olarak istiyor. İkinci parametre olan bar yüksekliği genel olarak 50 verilmekte, bizde öyle yapalım. Birinci parametredeki QR Code yapılacak veri kullanıcının TextBox’a yazdığı veri olacaktır. Fakat birinci parametrenin null gitmemesi gerekiyor, giderse program hata verecek ve çalışmayacaktır. Yani öncelikle kullanıcının TextBox’a birşey yazıp yazmadığını kontrol etmemiz gerekiyor. Kullanıcı birşey yazdıysa Draw() fonksiyonunu çağıracak ve QR Code oluşturacağız. Kullanıcının girdiği veri string tipte olacağından string bir ifadenin null olup olmadığını string.IsNullOrEmpty() fonksiyonu ile kontrol edebiliyoruz. Bu fonksiyon kontrol edilecek veriyi parametre olarak istiyor ve gönderdiğimiz parametre null ise true, değilse false döndürüyor. Ayrıca Draw() fonksiyonu geriye Image nesnesi döndürüyor. Döndürdüğü bu nesneyi doğrudan PictureBox üzerinde gösterebiliriz. Bunun için PictureBox nesnesi altındaki Image propertysini doldurmamız gerekiyor. Yani PictureBox nesnesinin Image propertysine Draw() fonksiyonundan dönen değeri atarsak kullanıcının yazdığı veri QR koda çevrilecek ve PictureBox üzerinde görüntülecektir. Kısacası yazacağımız kod şu şekilde olacaktır;

if (!string.IsNullOrEmpty(textBox1.Text))
    pictureBox1.Image = qrCode.Draw(textBox1.Text, 50);

Kodlarımızı tamamladık, örneğin TextBox içerisine SoftwareSup.Net yazarak test edelim;

csharp qr code olusturma 2
C# QR Kod Oluşturma – Örnek Kod

Tüm Kodlar

Evet C# ile Zen.Barcode.Rendering.Framework paketini kullanarak QR Code oluşturma işlemi bu şekilde yapılmakta. Yazdığımız kodları daha toplu olması için aşağıya bırakıyorum;

private void button1_Click(object sender, EventArgs e)
{
    CodeQrBarcodeDraw qrCode = BarcodeDrawFactory.CodeQr;
    if (!string.IsNullOrEmpty(textBox1.Text)
        pictureBox1.Image = qrCode.Draw(textBox1.Text, 50);
}

Tüm C# yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.

Skorumuz:
Oy Vermek İçin Tıklayın
[Toplam: 0 Ortalama: 0]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu