当前位置:   article > 正文

利用ZXing.Net来生成二维码(C#)_using zxing.qrcode

using zxing.qrcode

抄袭自:https://www.cnblogs.com/hsiang/p/8452984.html

 

步骤:

1 利用NuGet下载ZXing.Net,

地址:https://www.nuget.org/packages/ZXing.Net/0.16.4

利用NuGet下载ZXing.Net可以参考:

NuGet使用教程(gif动态图的方式演示):https://blog.csdn.net/zxy13826134783/article/details/85336968

NuGet学习笔记(1)——初识NuGet及快速安装使用:https://kb.cnblogs.com/page/143190/
VS使用Nuget教程详解 Visual studio 安装第三方的组件库:https://www.cnblogs.com/dathlin/p/7705014.html
VS2013中Nuget程序包管理器控制台使用入门:http://www.cnblogs.com/wangqiideal/p/4672329.html

 

我下载的版本是0.10.0,不行的话就多试几个版本,如下图:


 

2  编写代码:

winform主界面如下图,因为只是测试嘛,所有就弄得简单点。

代码如下:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Drawing.Imaging;
  7. using System.IO; //添加的命名空间
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. using System.Windows.Forms;
  12. using ZXing; //添加的命名空间
  13. using ZXing.QrCode; //添加的命名空间
  14. namespace 生成二维码
  15. {
  16. public partial class Form1 : Form
  17. {
  18. public Form1()
  19. {
  20. InitializeComponent();
  21. }
  22. private void btnEnter_Click(object sender, EventArgs e)
  23. {
  24. if(string.IsNullOrEmpty(txtContent.Text)){
  25. MessageBox.Show("请输入文本");
  26. return;
  27. }
  28. Bitmap bitmap = CreateQRCode(txtContent.Text, 800, 600);
  29. if(bitmap==null){
  30. MessageBox.Show("二维码生成失败");
  31. }
  32. if (WriteBitmapToPng(bitmap))
  33. {
  34. MessageBox.Show("二维码生成成功");
  35. }
  36. else {
  37. MessageBox.Show("二维码生成失败");
  38. }
  39. }
  40. /// <summary>
  41. /// 生成二维码
  42. /// </summary>
  43. /// <param name="msg">嵌入二维码中的信息</param>
  44. /// <param name="width">要生成的二维码图片的宽度</param>
  45. /// <param name="height">要生成的二维码图片的高度</param>
  46. /// <returns>返回图片二维码</returns>
  47. private Bitmap CreateQRCode(string msg,int width,int height) {
  48. BarcodeWriter writer = new BarcodeWriter();
  49. writer.Format = BarcodeFormat.QR_CODE;
  50. QrCodeEncodingOptions options = new QrCodeEncodingOptions()
  51. {
  52. CharacterSet="UTF-8",
  53. Width=width,
  54. Height=height,
  55. Margin=1,
  56. };
  57. writer.Options = options;
  58. Bitmap map = writer.Write(msg);
  59. return map;
  60. }
  61. /// <summary>
  62. /// 把Bitmap保存为png图片输出,输出到bin/Debug目录下
  63. /// </summary>
  64. /// <param name="bitmap">输入的bitmap</param>
  65. /// <returns>是否保存成功</returns>
  66. private bool WriteBitmapToPng(Bitmap bitmap) {
  67. if(bitmap==null){
  68. MessageBox.Show("输入的Bitmap无效");
  69. return false;
  70. }
  71. try
  72. {
  73. if(!File.Exists("test.png")){
  74. File.Create("test.png");
  75. }
  76. bitmap.Save("test.png", ImageFormat.Png);
  77. return true;
  78. }
  79. catch (Exception)
  80. {
  81. return false;
  82. }
  83. }
  84. }
  85. }

3  运行

4 到Debug目录打开test.png如下图:

好了,就可以打开你的微信进行扫一扫了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/715781
推荐阅读
相关标签
  

闽ICP备14008679号