这篇文章介绍了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#将网址生成二维码的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持得得之家。
沃梦达教程
本文标题为:C#实现将网址生成二维码图片方法介绍
基础教程推荐
猜你喜欢
- C# List实现行转列的通用方案 2022-11-02
- C#类和结构详解 2023-05-30
- 一个读写csv文件的C#类 2022-11-06
- C# 调用WebService的方法 2023-03-09
- C#控制台实现飞行棋小游戏 2023-04-22
- winform把Office转成PDF文件 2023-06-14
- C# windows语音识别与朗读实例 2023-04-27
- linux – 如何在Debian Jessie中安装dotnet core sdk 2023-09-26
- unity实现动态排行榜 2023-04-27
- ZooKeeper的安装及部署教程 2023-01-22