สร้าง QR Code ด้วย QRCoder

  1. ติดตั้ง QRCoder
  2. เพิ่ม References System.Drawing
  3. ทดลองสร้าง QR Code
  4. เปลี่ยนสี QR Code

1.ติดตั้ง QRCoder

PM> Install-Package QRCoder -Version 1.3.5

2.เพิ่ม References System.Drawing

System.Drawing

3.ทดลองสร้าง QR Code

ทดลองสร้าง QR Code แล้วบันทึกเป็นไฟล์ภาพ

using QRCoder;
using System.Drawing;

namespace ConsoleAppQR
{
    class Program
    {
        static void Main(string[] args)
        {
            QRCodeGenerator qrGenerator = new QRCodeGenerator();
            QRCodeData qrCodeData = qrGenerator.CreateQrCode("The text which should be encoded.", QRCodeGenerator.ECCLevel.Q);
            QRCode qrCode = new QRCode(qrCodeData);
            Bitmap qrCodeImage = qrCode.GetGraphic(20);
            qrCodeImage.Save("qrcode.bmp");
            qrCodeImage.Save("qrcode.jpg");
            qrCodeImage.Save("qrcode.png");
        }
    }
}

ทดลองสร้าง QR Code แล้วเก็บไว้ในตัวแปร Byte[]

using QRCoder;
using System;
using System.Drawing;
using System.IO;

namespace ConsoleAppQR
{
    class Program
    {
        static void Main(string[] args)
        {
            QRCodeGenerator qrGenerator = new QRCodeGenerator();
            QRCodeData qrCodeData = qrGenerator.CreateQrCode("The text which should be encoded."
                , QRCodeGenerator.ECCLevel.L);
            QRCode qrCode = new QRCode(qrCodeData);
            Bitmap bitmap = qrCode.GetGraphic(20);
            //bitmap.Save("qrcode.bmp");
            MemoryStream ms = new MemoryStream();
            bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
            Byte[] qrcodeByte = ms.ToArray();
        }
    }
}

4.เปลี่ยนสี QR Code

กำหนดสีด้วยคลาส Color

//Set color by using Color-class types
Bitmap qrCodeImage = qrCode.GetGraphic(20, Color.DarkRed, Color.PaleGreen, true);

กำหนดสีด้วยค่าสีแบบ html

//Set color by using HTML hex color notation
Bitmap qrCodeImage = qrCode.GetGraphic(20, "#000ff0", "#0ff000");

ใส่ logo/image ไว้ตรงกลาง QR code

Bitmap qrCodeImage = qrCode.GetGraphic(20, Color.Black, Color.White, (Bitmap)Bitmap.FromFile("logo.png"));