C#實現(xiàn)將網(wǎng)址生成二維碼圖片方法介紹
二維碼是什么
二維碼 QR Code,全稱為:Quick Response Code,最早用于日本汽車制造業(yè)追蹤零部件。QR現(xiàn)有40個標準版本,4個微型版本。相比一維碼(也就是我們目前還在常用的條碼),擁有更高密度的編碼,可存儲的信息量更大。一維碼只能存儲字母和數(shù)字,二維碼可容納多達1850個大寫字母或者2710個數(shù)字或者1108個字符或者500多個漢字,比條碼存儲量多了幾十倍。另外,二維碼可以把圖片、聲音、文字、等可以數(shù)字化的信息進行編碼。
除此之外:二維碼比一維碼譯碼錯誤率要低得多(誤碼率不超過千分之一),保密性、防偽性更好,成本低廉,容易制作,讓二維碼使用更加廣泛,越來越流行。
除了存儲編碼的數(shù)據(jù),QR碼里還含有一些基本標準里欽定的圖樣來幫助掃描軟件快速識別和解碼。
標準(ISO/IEC 18004)里是這樣說的
C#實現(xiàn)
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掃描出來的都是數(shù)字) qrCodeEncoder.QRCodeScale = 4;//大小(值越大生成的二維碼圖片像素越高) qrCodeEncoder.QRCodeVersion = 0;//版本(注意:設(shè)置為0主要是防止編碼的字符串太長時發(fā)生錯誤) 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"; //根據(jù)文件名稱,自動建立對應(yīng)目錄 if (!System.IO.Directory.Exists(file_path)) System.IO.Directory.CreateDirectory(file_path); bt.Save(codeUrl);//保存圖片 return codeUrl; } #endregion } }
到此這篇關(guān)于C#將網(wǎng)址生成二維碼的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#中將字符串轉(zhuǎn)換為整型的三種解決方法總結(jié)
本篇文章是對C#中將字符串轉(zhuǎn)換為整型的三種解決方法進行了詳細的分析介紹,需要的朋友參考下2013-06-06C# 控件屬性和InitializeComponent()關(guān)系案例詳解
這篇文章主要介紹了C# 控件屬性和InitializeComponent()關(guān)系案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-08-08