我是靠谱客的博主 迷路冬瓜,这篇文章主要介绍c# ThoughtWorks.QRCode 二维码,现在分享给大家,希望可以做个参考。

一、使用nuget添加包引用 


复制代码
1
PM>Install-Package ThoughtWorks.QRCode -Version 1.1.0
二、引用命称空间

复制代码
1
2
using ThoughtWorks.QRCode.Codec; using ThoughtWorks.QRCode.Codec.Data;
三、生成代码

复制代码
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
/// <summary> /// 生成二维码(中间不带LOGO) /// </summary> /// <param name="absoluteSave">保存的绝对路径</param> /// <param name="qrdata">要附加的内容</param> /// <returns></returns> public void CreateQRCode(string absoluteSave,string qrdata) { try { QRCodeEncoder encoder = new QRCodeEncoder(); encoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;//编码方式(注意:BYTE能支持中文,ALPHA_NUMERIC扫描出来的都是数字) encoder.QRCodeScale = 4;//大小(值越大生成的二维码图片像素越高) encoder.QRCodeVersion = 0;//版本(注意:设置为0主要是防止编码的字符串太长时发生错误) encoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.H;//错误效验、错误更正(有4个等级) encoder.QRCodeBackgroundColor = Color.White; encoder.QRCodeForegroundColor = Color.Black; System.Drawing.Image image = encoder.Encode(qrdata, Encoding.UTF8); System.IO.Directory.CreateDirectory(absoluteSave); image.Save(SaveFilePath, ImageFormat.Png); image.Dispose() } catch (Exception e) { //一些操作 } }



复制代码
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
/// <summary> /// 生成二维码(中间不带LOGO) /// </summary> /// <param name="absoluteSave">保存的绝对路径</param> /// <param name="qrdata">要附加的内容</param> /// <returns></returns> public void CreateQRCode(string absoluteSave,string qrdata) { try { QRCodeEncoder encoder = new QRCodeEncoder(); encoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;//编码方式(注意:BYTE能支持中文,ALPHA_NUMERIC扫描出来的都是数字) encoder.QRCodeScale = 4;//大小(值越大生成的二维码图片像素越高) encoder.QRCodeVersion = 0;//版本(注意:设置为0主要是防止编码的字符串太长时发生错误) encoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.H;//错误效验、错误更正(有4个等级) encoder.QRCodeBackgroundColor = Color.White; encoder.QRCodeForegroundColor = Color.Black; System.Drawing.Image image = encoder.Encode(qrdata, Encoding.UTF8); System.IO.Directory.CreateDirectory(absoluteSave); image.Save(SaveFilePath, ImageFormat.Png); image.Dispose() } catch (Exception e) { //一些操作 } }

复制代码
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
/// <summary> /// 生成二维码(中间带LOGO) /// </summary> /// <param name="absoluteSave">保存的绝对路径</param> /// <param name="qrdata">要附加的内容</param> ///<param name="absoluteSave">保存的绝对路径</param> /// <returns></returns> public void CreateQRCode(string absoluteSave, string qrdata, string AbsoluteLogo) { try { QRCodeEncoder encoder = new QRCodeEncoder(); encoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;//编码方式(注意:BYTE能支持中文,ALPHA_NUMERIC扫描出来的都是数字) encoder.QRCodeScale = 4;//大小(值越大生成的二维码图片像素越高) encoder.QRCodeVersion = 0;//版本(注意:设置为0主要是防止编码的字符串太长时发生错误) encoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.H;//错误效验、错误更正(有4个等级) encoder.QRCodeBackgroundColor = Color.White; encoder.QRCodeForegroundColor = Color.Black; System.Drawing.Image image = encoder.Encode(qrdata, Encoding.UTF8); Bitmap btm = new Bitmap(AbsoluteLogo); Bitmap copyImage = new Bitmap(btm, image.Width / 5, image.Height / 5); Graphics g = Graphics.FromImage(image); int x = image.Width / 2 - copyImage.Width / 2; int y = image.Height / 2 - copyImage.Height / 2; g.DrawImage(copyImage, x, y); System.IO.Directory.CreateDirectory(absoluteSave); image.Save(SaveFilePath, ImageFormat.Png); image.Dispose(); btm.Dispose(); copyImage.Dispose(); g.Dispose(); } catch (Exception e) { //一些操作 } }

四、解析二维码

复制代码
1
2
3
4
5
6
7
8
9
10
11
/// <summary> /// 解析二维码 /// </summary> /// <param name="absoluteSave">二维码的绝对路径</param> /// <returns></returns> public static string DeCode(string AbsoluteQRCodePath) { string decodedString = new QRCodeDecoder().decode(new QRCodeBitmapImage(new Bitmap(AbsoluteQRCodePath)), Encoding.UTF8); return decodedString; }




最后

以上就是迷路冬瓜最近收集整理的关于c# ThoughtWorks.QRCode 二维码的全部内容,更多相关c#内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部