关于C# QRCoder生成二维码

关于C# QRCoder生成二维码

1、NuGet安装QRCoder库。

2、测试代码。

using QRCoder;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace qr
{
    public partial class FrmMain : Form
    {
        public FrmMain()
        {
            InitializeComponent();
        }

        /*
        public Bitmap GetGraphic(int pixelsPerModule, Color darkColor, Color lightColor, [Bitmap icon=null], [int iconSizePercent=15], [int iconBorderWidth=6], [bool drawQuietZones=true])
            int pixelsPerModule:生成二维码图片的像素大小; 
            Color darkColor:二维码图像暗色,一般设置为Color.Black。
            Color lightColor:二维码图像亮色, 一般设置为Color.White。
            Bitmap icon:二维码中间水印图标。
            int iconSizePercent:水印图标的大小比例。
            int iconBorderWidth:水印图标的边框。不能设为0,否则会显示“参数错误”,程序运行出错。
            bool drawQuietZones:静止区,即是否绘画二维码的空白边框区域,默认为true。
        */
        
        /// <summary>
        /// 生成QR码
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnQR_Click(object sender, EventArgs e)
        {
            // 创建QRCode
            QRCode qRCode = new QRCode();
            // 存储内容
            string strCode = tbLine.Text.Trim();
            QRCodeGenerator qrGenerator = new QRCodeGenerator();
            QRCodeData qrCodeData = qrGenerator.CreateQrCode(strCode, QRCodeGenerator.ECCLevel.Q);
            QRCode qrcode = new QRCode(qrCodeData);
            //Bitmap icon = new Bitmap(Application.StartupPath + @"\" + "logo.png");
            //Bitmap qrCodeImage = qrcode.GetGraphic(20, Color.Black, Color.White, icon, 15, 6, false);
            Bitmap qrCodeImage = qrcode.GetGraphic(20, Color.Black, Color.White, null, 15, 6, false);
            MemoryStream ms = new MemoryStream();
            qrCodeImage.Save(ms, ImageFormat.Jpeg);
            qrCodeImage.Save(Application.StartupPath + @"\" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".jpg");
            picQR.Image = qrCodeImage;
        }

    }
}

 

 

发表回复

您的电子邮箱地址不会被公开。