CodeCreate.cs 1.7 KB
using DataMatrix.net;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ZXing;
using ZXing.Common;
using ZXing.QrCode;

namespace CodeSplicing
{
   public  class CodeCreate
    {  
        //生成二维码图片的函数
        public static Bitmap DMCode(string msg, int codeSizeInPixels, int margin = 5)
        {
            if (codeSizeInPixels <= 0)
            {
                codeSizeInPixels = 10;
            }

            DmtxImageEncoderOptions opt = new DmtxImageEncoderOptions();
            opt.ModuleSize = codeSizeInPixels;
            opt.MarginSize = margin; 
            DmtxImageEncoder encoder = new DmtxImageEncoder(); 
            Bitmap bm = encoder.EncodeImage(msg, opt);
            return bm; 
        }
        public static  Bitmap ZXingCode(string msg, int codeSizeInPixels, BarcodeFormat type)
        {
            if (codeSizeInPixels <= 0)
            {
                codeSizeInPixels = 10;
            } 
            BarcodeWriter writer = new BarcodeWriter();
            writer.Format = type;

            QrCodeEncodingOptions options = new QrCodeEncodingOptions();
            options.DisableECI = true;
            //设置内容编码
            options.CharacterSet = "UTF-8";
            //设置二维码的宽度和高度
            options.Width = codeSizeInPixels;
            options.Height = codeSizeInPixels;
            //设置二维码的边距,单位不是固定像素
            options.Margin = 1;
            writer.Options = options;
            Bitmap map = writer.Write(msg);
            return map;
        }
      
    }
}