C# 根据字符串生成二维码的实例代码

 更新时间:2020年07月13日 11:32:23   作者:江北  
这篇文章主要介绍了C# 根据字符串生成二维码的实例,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下

1.先下载NuGet包(ZXing.Net)

2.新建控制器及编写后台代码

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using ZXing;
using ZXing.QrCode;

namespace WebApplication1.Controllers
{
  public class StrController : Controller
  {
    // GET: Str
    public ActionResult Index()
    {
      return View();
    }
    /// <summary>
    /// 生成二维码方法
    /// </summary>
    /// <param name="text">输入的字符串</param>
    /// <param name="width">二维码宽度</param>
    /// <param name="height">二维码高度</param>
    /// <returns></returns>
    public string QRcode(string text, string width, string height)
    {
      string Response = "";
      try
      {
        BarcodeWriter writer = new BarcodeWriter();
        writer.Format = BarcodeFormat.QR_CODE;
        QrCodeEncodingOptions options = new QrCodeEncodingOptions();
        options.DisableECI = true;
        //设置内容编码
        options.CharacterSet = "UTF-8";
        //将传来的值赋给二维码的宽度和高度
        options.Width = Convert.ToInt32(width);
        options.Height = Convert.ToInt32(height);
        //设置二维码的边距,单位不是固定像素
        options.Margin = 1;
        writer.Options = options;

        Bitmap map = writer.Write(text);
        string di = text + DateTime.Now.ToString("yyyyMMddHHmmss") + ".png";
        //二维码会显示在桌面(你也想显示在桌面的话,要改一下路径)
        string path = Path.Combine("C:\\Users\\zhulin\\Desktop", di);
        map.Save(path, ImageFormat.Png);
        map.Dispose();
        Response = "二维码生成成功!";
      }
      catch (Exception)
      {
        Response = "二维码生成失败!";
      }
      return Response;
    }
  }
}

3.前端

@{
  Layout = null;
}

<!DOCTYPE html>

<html>
<head>
  <meta name="viewport" content="width=device-width" />
  <title>Index</title>
  <link href="~/Scripts/bootstrap-3.3.7-dist/css/bootstrap.min.css" rel="external nofollow" rel="stylesheet" />
  <script src="~/Scripts/jquery-3.3.1.min.js"></script>
  <script src="~/Scripts/bootstrap-3.3.7-dist/js/bootstrap.min.js"></script>
  <script type="text/javascript">
    $(document).ready(function () {
      $("#btn").click(function () {
        var w = $("#wd").val();
        var h = $("#hg").val();
        var text = $("#tx").val();
        $.ajax({
          url: "/Str/QRcode",
          data: "text=" + text + "&width=" + w + "&height=" + h,
          success: function (e) {
            alert(e);
          }
        });
      });
    })

  </script>
</head>
<body>

  <div style="margin-top:20px;margin-left:20px;">
    <p>高度:<input type="text" style="width:60px;height:32px;border:1px solid #66b1ff;margin-left:3px;" id="wd" /><span style="margin-left:10px;">宽度:</span><input type="text" style="width:60px;height:32px;border:1px solid #66b1ff;margin-left:3px;" id="hg" /></p>
    <input type="text" style="width:200px;height:32px;border:1px solid #66b1ff;" id="tx" placeholder="请输入字符串..." /><button type="button" class="btn btn-info" id="btn" style="margin-left:5px;margin-top:-1px;height:33px;">提交</button>
  </div>
</body>
</html>

4.效果:

以上就是C# 根据字符串生成二维码的实例代码的详细内容,更多关于C# 根据字符串生成二维码的资料请关注脚本之家其它相关文章!

相关文章

  • C#使用jQuery实现无刷新评论提交的方法

    C#使用jQuery实现无刷新评论提交的方法

    这篇文章主要介绍了C#使用jQuery实现无刷新评论提交的方法,涉及C#结合jQuery进行Ajax操作的相关技巧,非常具有实用价值,需要的朋友可以参考下
    2015-05-05
  • C#异常处理的最佳实践与内存模型深度剖析

    C#异常处理的最佳实践与内存模型深度剖析

    C#提供了强大的异常处理机制,它帮助开发者捕获并响应运行时的错误,然而,异常的处理不仅仅是捕获错误,它还需要合理的策略来确保代码的性能、可维护性和可靠性,本文将深入探讨C#异常处理的最佳实践,如何有效记录日志,避免性能损失,并对C#的内存模型做详细解析
    2025-01-01
  • C# Stopwatch实现计算代码运行时间

    C# Stopwatch实现计算代码运行时间

    这篇文章主要为大家详细介绍了C#如何使用Stopwatch实现计算代码运行时间,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-03-03
  • C#编程中使用ref和out关键字来传递数组对象的用法

    C#编程中使用ref和out关键字来传递数组对象的用法

    这篇文章主要介绍了C#编程中使用ref和out关键字来传递数组对象的用法,在C#中数组也是对象可以被传递,需要的朋友可以参考下
    2016-01-01
  • C#中关于double.ToString()的用法

    C#中关于double.ToString()的用法

    这篇文章主要介绍了C#中关于double.ToString()的用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • C#实现如何使用短信平台自动通知用户实例

    C#实现如何使用短信平台自动通知用户实例

    这篇文章主要介绍了C#实现如何使用短信平台自动通知用户实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • C#封装将函数封装为接口dll的简单步骤指南

    C#封装将函数封装为接口dll的简单步骤指南

    在C#中,封装函数为接口并打包成DLL是实现代码重用和模块化的常见方法,此过程包括创建类库项目、定义接口、实现接口、编译项目生成DLL文件,这种方法适用于需要在多个项目间共享功能时使用,需要的朋友可以参考下
    2024-11-11
  • C#实现的简单验证码识别实例

    C#实现的简单验证码识别实例

    这篇文章主要介绍了C#实现的简单验证码识别实例,只适应一些简单的验证码,需要的朋友可以参考下
    2014-06-06
  • 三十分钟快速掌握C# 6.0知识点

    三十分钟快速掌握C# 6.0知识点

    这篇文章主要介绍了C# 6.0的相关知识点,文中介绍的非常详细,通过这篇文字可以让大家在三十分钟内快速的掌握C# 6.0,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-03-03
  • C#使用Datatable导入sqlserver数据库的三种方法

    C#使用Datatable导入sqlserver数据库的三种方法

    本文主要介绍了C#使用Datatable导入sqlserver数据库的三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08

最新评论