C#实现将网址生成二维码图片方法介绍

 更新时间:2022年04月21日 11:00:21   作者:農碼一生  
这篇文章介绍了C#实现将网址生成二维码图片的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

二维码是什么

二维码 QR Code,全称为:Quick Response Code,最早用于日本汽车制造业追踪零部件。QR现有40个标准版本,4个微型版本。相比一维码(也就是我们目前还在常用的条码),拥有更高密度的编码,可存储的信息量更大。一维码只能存储字母和数字,二维码可容纳多达1850个大写字母或者2710个数字或者1108个字符或者500多个汉字,比条码存储量多了几十倍。另外,二维码可以把图片、声音、文字、等可以数字化的信息进行编码。

除此之外:二维码比一维码译码错误率要低得多(误码率不超过千分之一),保密性、防伪性更好,成本低廉,容易制作,让二维码使用更加广泛,越来越流行。

除了存储编码的数据,QR码里还含有一些基本标准里钦定的图样来帮助扫描软件快速识别和解码。

标准(ISO/IEC 18004)里是这样说的

C#实现

using System;
using System.Drawing;
using System.Text;
using ThoughtWorks.QRCode.Codec;

namespace ConsoleTest
{
    public class Test
    {
        #region 生成二维码
        /// <summary>
        /// 生成二维码
        /// </summary>
        /// <param name="number"></param>
        /// <returns></returns>
        private static string QRCode()
        {
            System.Drawing.Bitmap bt;
            string enCodeString = "http://www.baidu.com";

            QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
            qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;//编码方式(注意:BYTE能支持中文,ALPHA_NUMERIC扫描出来的都是数字)
            qrCodeEncoder.QRCodeScale = 4;//大小(值越大生成的二维码图片像素越高)
            qrCodeEncoder.QRCodeVersion = 0;//版本(注意:设置为0主要是防止编码的字符串太长时发生错误)
            qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;//错误效验、错误更正(有4个等级)
            qrCodeEncoder.QRCodeBackgroundColor = Color.Yellow;//背景色
            qrCodeEncoder.QRCodeForegroundColor = Color.Green;//前景色

            bt = qrCodeEncoder.Encode(enCodeString, Encoding.UTF8);

            string filename = "code";
            string file_path = AppDomain.CurrentDomain.BaseDirectory + "QRCode\\";
            string codeUrl = file_path + filename + ".jpg";

            //根据文件名称,自动建立对应目录
            if (!System.IO.Directory.Exists(file_path))
                System.IO.Directory.CreateDirectory(file_path);

            bt.Save(codeUrl);//保存图片
            return codeUrl;
        }
        #endregion
    }
}

到此这篇关于C#将网址生成二维码的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 利用FlubuCore用C#来写DevOps脚本的方法详解

    利用FlubuCore用C#来写DevOps脚本的方法详解

    这篇文章主要介绍了利用FlubuCore用C#来写DevOps脚本的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • 使用c#在word文档中创建表格的方法详解

    使用c#在word文档中创建表格的方法详解

    本篇文章是对使用c#在word文档中创建表格的方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C#使用代码实现春晚扑克牌魔术

    C#使用代码实现春晚扑克牌魔术

    这篇文章主要为大家详细介绍了C#如何使用代码实现龙年春晚扑克牌魔术(守岁共此时),文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2024-02-02
  • 基于多态之虚方法、抽象类、接口详解

    基于多态之虚方法、抽象类、接口详解

    下面小编就为大家分享一篇基于多态之虚方法、抽象类、接口详解,具有很好的参考价值。希望对大家有所帮助。一起跟随小编过来看看吧
    2017-11-11
  • 轻松学习C#的异常处理

    轻松学习C#的异常处理

    轻松学习C#的异常处理,对C#的异常处理感兴趣的朋友可以参考本篇文章,帮助大家更灵活的运用C#的异常处理
    2015-11-11
  • c# 类型构造器

    c# 类型构造器

    CLR还支持类型构造器,也称为静态构造器。c#类型构造器可应用引用类型和值类型,永远没有参数
    2012-10-10
  • C# AutoResetEvent的具体使用方法

    C# AutoResetEvent的具体使用方法

    AutoResetEvent是C#中的一个同步原语,用于在线程之间传递信号,本文主要介绍了C# AutoResetEvent的具体使用方法,具有一定的参考价值,感兴趣的可以了解一下
    2025-01-01
  • C#正则检测字符串是否字母数字混编的方法

    C#正则检测字符串是否字母数字混编的方法

    这篇文章主要介绍了C#正则检测字符串是否字母数字混编的方法,涉及C#正则判定字符串的使用技巧,需要的朋友可以参考下
    2015-06-06
  • C#实现多线程写入同一个文件的方法

    C#实现多线程写入同一个文件的方法

    这篇文章主要介绍了C#实现多线程写入同一个文件的方法,涉及C#多线程操作文件读写的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • c#一个定时重启的小程序实现代码

    c#一个定时重启的小程序实现代码

    今天有个朋友找我问有没有一些能像Windows一样计划任务重启的软件,我也不清楚。他它说能让我做一个给他它么?我考虑了一下,他的服务器都是有安装.NET框架的,那可以用.NET来使下~~!
    2008-09-09

最新评论