CodeCreate.cs
1.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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;
}
}
}