csharp asp.net mvc ile QR Kod Üretici

1. Controller – QR Kod Üretici

Bunu yapabilmek için System.Drawing (GDI+) kullanıyoruz. QR kod algoritmasını sıfırdan yazmak istemiyorsan basit ve stabil bir open-source implementation gerekiyor, ama .NET Framework’te en basit çözüm şu:

a) QR kod için küçük NuGet’siz kütüphane

Doğrudan ZXing.Net veya QRCoder gerekir. Eğer hiç paket kullanmayacaksan, hazır bir QR algoritmasını kopyalamak gerekiyor. Sana en minimal çözümü yazayım:

 

 

using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Web.Mvc;
using ZXing; // ZXing.Net (DLL ekleyebilirsin, NuGet şart değil, DLL olarak indirilebilir)

public class QrController : Controller
{
    public ActionResult Show(string text)
    {
        var writer = new BarcodeWriter
        {
            Format = BarcodeFormat.QR_CODE,
            Options = new ZXing.Common.EncodingOptions
            {
                Height = 200,
                Width = 200,
                Margin = 1
            }
        };

        using (var bitmap = writer.Write(text))
        {
            using (var stream = new MemoryStream())
            {
                bitmap.Save(stream, ImageFormat.Png);
                return File(stream.ToArray(), "image/png");
            }
        }
    }
}

 

2. Kullanım (View)

 

<img src="@Url.Action("Show", "Qr", new { text = ViewBag.QrCodeUrl })" alt="QR Code" />

 

3. Paket Olmadan Çalıştırma

  • ZXing.Net.dll dosyasını manuel indirip bin klasörüne atılabilir