de2bd2f9
“wangming”
项目初始化
|
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
using QRCoder;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ThoughtWorks.QRCode.Codec;
using ThoughtWorks.QRCode.Codec.Data;
using ZXing;
using ZXing.Common;
using ZXing.Rendering;
namespace NCC.Code.QrCode
{
/// <summary>
/// 二维码类
/// </summary>
public static class QrCodeCommon
{
/// <summary>
/// 生成二维码
/// </summary>
/// <param name="plainText"></param>
/// <param name="pixel">像素大小</param>
/// <returns></returns>
public static Bitmap GetQRCode(string plainText, int pixel)
{
return null;
}
/// <summary>
/// 生成二维码
/// </summary>
/// <param name="content">二维码内容</param>
/// <returns></returns>
public static Bitmap CreateQRCodeImage(string content)
{
// var writer = new BarcodeWriter<Bitmap>
// {
// Format = global::ZXing.BarcodeFormat.QR_CODE,
// Options = new EncodingOptions
// {
// Height = 200,
// Width = 200,
// Margin = 1
// },
// Renderer = new BitmapRenderer
// {
// Foreground = Color.Black,
// Background = Color.White
// }
// };
// return writer.Write(content);
return null;
}
/// <summary>
/// 读取二维码(ThoughtWorks)
/// </summary>
/// <param name="map"></param>
/// <returns></returns>
public static string ReadQRCodeImage(Bitmap map)
{
try
{
QRCodeDecoder qrDecoder = new QRCodeDecoder();
string content = qrDecoder.decode(new QRCodeBitmapImage(map), Encoding.UTF8);
return content;
}
catch (Exception e)
{
return "";
}
}
/// <summary>
/// 添加二维码并保存到文件夹
/// </summary>
/// <param name="content">二维码内容</param>
/// <param name="dir">子文件夹</param>
/// <returns></returns>
public static string AddQRCodeSaveToFile(string content, string dir)
{
string fileName = Guid.NewGuid().ToString() + ".jpg";
string filePath = AppDomain.CurrentDomain.BaseDirectory.ToString() + @"resource\image\qr\" + dir;
try
{
Bitmap qrCodeImage = CreateQRCodeImage(content);
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
qrCodeImage.Save(filePath + @"\" + fileName, System.Drawing.Imaging.ImageFormat.Jpeg);
qrCodeImage.Dispose();
return "/resource/image/qr/" + dir + "/" + fileName;
}
catch (Exception e)
{
return e.ToString();
}
}
/// <summary>
/// 生成二维码
/// </summary>
/// <param name="plainText">内容</param>
/// <param name="pixel">像素大小 默认5 可自行调整</param>
/// <returns></returns>
public static Bitmap ToQrCode(this string plainText, int pixel = 5)
{
return GetQRCode(plainText, pixel);
}
/// <summary>
/// 生成二维码 Base64
/// </summary>
/// <param name="plainText">内容</param>
/// <param name="pixel">像素大小 默认5 可自行调整</param>
/// <param name="hasprev">包含data:image... 前缀 默认false</param>
/// <returns></returns>
public static string ToQrCodeBase64(this string plainText, int pixel = 5, bool hasprev = false)
{
string base64 = "";
if (hasprev)
{
base64 = "data:image/png;base64,";
}
base64 += FileHelper.BitmapToBase64(GetQRCode(plainText, pixel));
return base64;
}
}
}
|