C# 生成二維碼 QRCoder

最近項目上有個需求,須要將某個文件的下載地址生成二維碼,並展現到網頁上.ajax

目前網上生成二維碼的方法有好幾種,本文將介紹【QRCoder】生成二維碼的方式瀏覽器

 

1、首先經過VS中的【NUGET】下載並引用QRCoder.dll框架

  使用VS打開項目,項目->右鍵->管理Nuget程序包,而後選擇聯機,在輸入框中輸入QRCoder,以下圖所示:ui

 

2、編寫生成二維碼代碼,並返回至頁面spa

   一、WebFrom (項目框架)code

   二、功能場景:客戶端瀏覽器使用jQuery.ajax 請求服務端返回二維碼,服務端經過通常處理程序Handler.ashx 處理客戶端請求並返回二維碼至客戶端orm

// 生成二維碼的內容
string strCode = "http://www.walys.com";
QRCodeGenerator qrGenerator = new QRCoder.QRCodeGenerator();
QRCodeData qrCodeData = qrGenerator.CreateQrCode(strCode, QRCodeGenerator.ECCLevel.Q);
QRCode qrcode = new QRCode(qrCodeData);

// qrcode.GetGraphic 方法可參考最下發「補充說明」
Bitmap qrCodeImage = qrcode.GetGraphic(5,Color.Black,Color.White,null,15,6,false); 
MemoryStream ms = new MemoryStream();
qrCodeImage.Save(ms, ImageFormat.Jpeg);

// 若是想保存圖片 可以使用  qrCodeImage.Save(filePath);

// 響應類型
context.Response.ContentType = "image/Jpeg";
//輸出字符流
context.Response.BinaryWrite(ms.ToArray());

以上爲QRCoder生成二維碼的核心代碼blog

 

補充說明:QRCode.GetGraphic方法參數說明 圖片

Bitmap qrCodeImage = qrcode.GetGraphic(5,Color.Black,Color.White,null,15,6,false); 
 /* GetGraphic方法參數說明
                 public Bitmap GetGraphic(int pixelsPerModule, Color darkColor, Color lightColor, Bitmap icon = null, int iconSizePercent = 15, int iconBorderWidth = 6, bool drawQuietZones = true)
             * 
                 int pixelsPerModule:生成二維碼圖片的像素大小 ,我這裏設置的是5 
             * 
                 Color darkColor:暗色   通常設置爲Color.Black 黑色
             * 
                 Color lightColor:亮色   通常設置爲Color.White  白色
             * 
                 Bitmap icon :二維碼 水印圖標 例如:Bitmap icon = new Bitmap(context.Server.MapPath("~/images/zs.png")); 默認爲NULL ,加上這個二維碼中間會顯示一個圖標
             * 
                 int iconSizePercent: 水印圖標的大小比例 ,可根據本身的喜愛設置 
             * 
                 int iconBorderWidth: 水印圖標的邊框
             * 
                 bool drawQuietZones:靜止區,位於二維碼某一邊的空白邊界,用來阻止讀者獲取與正在瀏覽的二維碼無關的信息 便是否繪畫二維碼的空白邊框區域 默認爲true
   */
相關文章
相關標籤/搜索