1. 程式人生 > 其它 >C# 生成二維碼

C# 生成二維碼

using ThoughtWorks.QRCode.Codec;
 1        QRCodeEncoder codeEncoder = new QRCodeEncoder();
 2 
 3             Bitmap image = codeEncoder.Encode("二維碼連結", Encoding.UTF8);
 4 
 5             string path11 = $"/img/{Guid.NewGuid().ToString("N")}" + ".jpg";
 6             string physicPath = GetAbsolutePath($"
~{path11}"); 7 string dir = Path.GetDirectoryName(physicPath); 8 if (!Directory.Exists(dir)) 9 Directory.CreateDirectory(dir); 10 string newpath = $"{_configuration["WebRootUrl"]}{path11}"; 11 string ppth = _hostingEnvironment.WebRootPath + path11;
12 13 image.Save(ppth, System.Drawing.Imaging.ImageFormat.Jpeg);
_configuration["WebRootUrl"] :介面根地址
_hostingEnvironment.WebRootPath:絕對路徑

/***********************************************************************************************/

返回byte[] 型別

 1         /// <param name="Content">
內容文字</param> 2 /// <param name="QRCodeEncodeMode">二維碼編碼方式</param> 3 /// <param name="QRCodeErrorCorrect">糾錯碼等級</param> 4 /// <param name="QRCodeVersion">二維碼版本號 0-40</param> 5 /// <param name="QRCodeScale">每個小方格的預設寬度(畫素),正整數</param> 6 /// <param name="size">圖片尺寸(畫素),0表示不設定</param> 7 /// <param name="border">圖片白邊(畫素),當size大於0時有效</param> 8 QRCodeEncoder qrCodeEncoder = new QRCodeEncoder(); 9 qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE; 10 qrCodeEncoder.QRCodeScale = 12; 11 12 qrCodeEncoder.QRCodeVersion = 0;//二維碼版本號 0-40 13 qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M; 14 String data = "連結"; 15 System.Drawing.Bitmap image = qrCodeEncoder.Encode(data); 16 System.IO.MemoryStream MStream = new System.IO.MemoryStream(); 17 image.Save(MStream, System.Drawing.Imaging.ImageFormat.Jpeg); 18 19 return MStream.ToArray();