QR kodu (kare kod), eklendiği öğe hakkında bilgi depolayan iki boyutlu bir barkoddur. Bilgiler düz metin, URL, e-posta adresi, vCard bilgileri vb. olabilir.

Bu makalede, C#'ta QR kodu görüntüsünün nasıl oluşturulacağını öğreneceksiniz. Örneğimizi oluştururket QRCoder kütüphanesini kullanacağız.

QRCoder, QR kodları oluşturmanızı sağlayan, C#.NET ile yazılmış basit bir kitaplıktır. Diğer kitaplıklara bağımlılığı yoktur ve NuGet'te .NET Framework ve .NET Core PCL sürümü olarak mevcuttur.

Örneğimize geçelim.

Örneğimize aşağıdaki kontrolleri ekleyeceğiz.

QR Kodu oluşturacağımız metin için textBox, (Name : tbMetin)

QR Kodu görüntülemek için PictureBox (Name : pictureBox1),

Kodlarımızı çalıştırmak için Button (Name : button1).

Formumuzu oluşturduktan sonra sıradaki adıma geçelim.

Solution Explorer Penceresinde projemizin üzerinde sağ tıklayarak Manage NuGet Packages tıklıyoruz.

Açılan pencerede Browse sekmesinde arama bölümüne "qr" yazalım ve QRCoder seçerek Install butonuna tıklayalım.

Gelen ekranda OK tıklayalım.

Bu işlem sonucu QRCoder projemize eklenecektir.

Şimdide kodlarımızı oluşturalım.

private void button1_Click(object sender, EventArgs e)         {             string str=tbMetin.Text;             QRCodeGenerator qrGenerator = new QRCodeGenerator();             QRCodeData qrCodeData = qrGenerator.CreateQrCode(str, QRCodeGenerator.ECCLevel.Q);             QRCode qrCode = new QRCode(qrCodeData);             Bitmap qrCodeImage = qrCode.GetGraphic(20);             pictureBox1.Image = qrCodeImage;         }

Yukarıdaki kodları yazıp programımızı çalıştırdığımızda;

Karekodumuzu renklendirmek istersek hex kodlarından faydalanabiliriz. Karekod rengi ve zemin rengini ayarlamak mümkündür. Aşağıda Kırmızı renkli bir Karekod oluşturulmıuştur.

Button1_Click için C# Kodları:

private void button1_Click(object sender, EventArgs e)         {             string str=tbMetin.Text;             QRCodeGenerator qrGenerator = new QRCodeGenerator();             QRCodeData qrCodeData = qrGenerator.CreateQrCode(str, QRCodeGenerator.ECCLevel.Q);             QRCode qrCode = new QRCode(qrCodeData);             Bitmap qrCodeImage = qrCode.GetGraphic(20, "#FF0000", "#FFFFFF");             pictureBox1.Image = qrCodeImage;         }

Örneğimiz tamamlanmış oldu. Kolay gelsin.