日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

.NET 二维码生成(ThoughtWorks.QRCode)

發布時間:2023/12/20 asp.net 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .NET 二维码生成(ThoughtWorks.QRCode) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

引用ThoughtWorks.QRCode.dll (源代碼里有)

1、簡單二維碼生成及解碼代碼:

//生成二維碼方法一private void CreateCode_Simple(string nr) { QRCodeEncoder qrCodeEncoder = new QRCodeEncoder(); qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE; qrCodeEncoder.QRCodeScale = 4; qrCodeEncoder.QRCodeVersion = 8; qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M; //System.Drawing.Image image = qrCodeEncoder.Encode("4408810820 深圳-廣州 小江"); System.Drawing.Image image = qrCodeEncoder.Encode(nr); string filename = DateTime.Now.ToString("yyyymmddhhmmssfff").ToString() + ".jpg"; string filepath = Server.MapPath(@"~\Upload") + "\\" + filename; System.IO.FileStream fs = new System.IO.FileStream(filepath, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write); image.Save(fs, System.Drawing.Imaging.ImageFormat.Jpeg); fs.Close(); image.Dispose(); //二維碼解碼 var codeDecoder = CodeDecoder(filepath); } /// <summary> /// 二維碼解碼 /// </summary> /// <param name="filePath">圖片路徑</param> /// <returns></returns> public string CodeDecoder(string filePath) { if (!System.IO.File.Exists(filePath)) return null; Bitmap myBitmap = new Bitmap(Image.FromFile(filePath)); QRCodeDecoder decoder = new QRCodeDecoder(); string decodedString = decoder.decode(new QRCodeBitmapImage(myBitmap)); return decodedString; }

2、源代碼演示,相對復雜的生成方式:

界面效果:

前端代碼:

@{Layout = null; }<!DOCTYPE html><html> <head><meta name="viewport" content="width=device-width" /> <title>Code</title> <script src="~/Scripts/jquery-1.10.2.js"></script> <script type="text/javascript"> $(function () { $("#createCode").click(function () { var strData = $("#strData").val(); var level = $("#level").val(); var encoding = $("#encoding").val(); var version = $("#version").val(); var scale = $("#scale").val(); $.post("/home/CreateCode_Choose", { strData: strData, level: level, qrEncoding: encoding, version: version, scale: scale }, function (data) { $("img").attr("src", data); }); }); }); </script> </head> <body> <div> <p>要生成的文字(支持中文):<input id="strData" type="text" value="123456 測試" /></p> <p> Encoding:<select id="encoding"> <option value="Byte">Byte</option> <option value="AlphaNumeric">AlphaNumeric</option> <option value="Numeric">Numeric</option> </select> </p> <p> Correction Level:<select id="level"> <option value="M">M</option> <option value="L">L</option> <option value="Q">Q</option> <option value="H">H</option> </select> </p> <p>Version:<input id="version" type="text" value="8" /></p> <p>scale:<input id="scale" type="text" value="4" /></p> <img src="" alt="" /> <input id="createCode" type="button" value="生成" /> </div> </body> </html>

后臺:

/// 生成二維碼/// </summary>/// <param name="strData">要生成的文字或者數字,支持中文。如: "4408810820 深圳-廣州" 或者:4444444444</param> /// <param name="qrEncoding">三種尺寸:BYTE ,ALPHA_NUMERIC,NUMERIC</param> /// <param name="level">大小:L M Q H</param> /// <param name="version">版本:如 8</param> /// <param name="scale">比例:如 4</param> /// <returns></returns> public ActionResult CreateCode_Choose(string strData, string qrEncoding, string level, int version, int scale) { QRCodeEncoder qrCodeEncoder = new QRCodeEncoder(); string encoding = qrEncoding; switch (encoding) { case "Byte": qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE; break; case "AlphaNumeric": qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.ALPHA_NUMERIC; break; case "Numeric": qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.NUMERIC; break; default: qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE; break; } qrCodeEncoder.QRCodeScale = scale; qrCodeEncoder.QRCodeVersion = version; switch (level) { case "L": qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.L; break; case "M": qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M; break; case "Q": qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.Q; break; default: qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.H; break; } //文字生成圖片 Image image = qrCodeEncoder.Encode(strData); string filename = DateTime.Now.ToString("yyyymmddhhmmssfff").ToString() + ".jpg"; string filepath = Server.MapPath(@"~\Upload") + "\\" + filename; //如果文件夾不存在,則創建 //if (!Directory.Exists(filepath)) // Directory.CreateDirectory(filepath); System.IO.FileStream fs = new System.IO.FileStream(filepath, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write); image.Save(fs, System.Drawing.Imaging.ImageFormat.Jpeg); fs.Close(); image.Dispose(); return Content(@"/Upload/" + filename); }

源代碼演示下載:點擊下載

轉載于:https://www.cnblogs.com/hnsongbiao/p/9145293.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的.NET 二维码生成(ThoughtWorks.QRCode)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 在线色网站| 夜夜夜综合 | 欧美骚视频 | 日韩视频专区 | 免费不卡av在线 | av手机免费观看 | 亚洲欧美a | av不卡免费在线 | 国产精品区一区二 | 天堂一区二区三区 | a男人天堂 | 国产在线无 | 中文在线观看av | 国产免费福利 | 国产热99 | 夜夜艹 | 97视频在线观看免费 | 美日韩丰满少妇在线观看 | 久久大尺度 | 91视频官网 | 亚洲狠狠丁香婷婷综合久久久 | 激情专区| 青青草在线播放 | 撕开少妇裙子猛然进入 | 伦理片波多野结衣 | 日韩三级一区二区三区 | 4hu在线观看 | 日本激情视频一区二区三区 | ww成人 | 老司机一区 | 国产免费一区二区三区最新不卡 | 无遮挡裸光屁屁打屁股男男 | 精品人妻一区二区三区久久夜夜嗨 | 四虎久久久| 国产一区二区三区在线观看 | 91成年人视频 | 天堂影音 | 久久99网 | 黄色一级片a | 午夜不卡在线观看 | 亚洲熟女少妇一区二区 | 日本黄色网页 | 久久精品一区二区三区不卡牛牛 | 91在线视频观看 | 久久影片| ,亚洲人成毛片在线播放 | 超碰免费在线 | 黄色网址多少 | 国产精品久久久av | 日本色中色 | 黄色一级网 | 成人免费网站黄 | av不卡一区二区三区 | 亚洲精品久久久久久久蜜桃 | 欧美三级视频在线观看 | 日韩在线观看视频一区二区 | 美女扒开尿口给男人桶 | 夜夜草导航 | 男人爽女人下面动态图 | 精品国产18久久久久久二百 | 好吊视频一区二区三区四区 | 成人欧美一区二区三区黑人 | 台湾av在线播放 | 青草久久久久 | 日韩免费视频观看 | 久久久成人免费视频 | jizz一区| 97一级片 | 午夜亚洲天堂 | 国产白浆在线 | 性囗交免费视频观看 | 亚洲综合一二三 | 日韩精品三区 | 国产黄色在线免费观看 | 国产亚洲精品久久久久久777 | 最新av导航 | 美女av免费在线观看 | 婷综合| 毛片3| 成人片在线免费看 | 国产精品偷伦视频免费观看了 | 日韩av网站在线 | 黄色三级带 | 亚洲人妻电影一区 | 国产精品1234 | 成人激情四射网 | 久久亚洲精 | 男女插插网站 | 射射射综合网 | 日本污视频在线观看 | 日韩成人av在线播放 | 三级伦理片 | 五月天婷婷综合网 | 国产精品xxx | 日本亚洲一区二区三区 | 亚洲欧洲在线播放 | 日韩第一页在线观看 | 国产成人 综合 亚洲 | 999精彩视频 |