中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C# 利用QRCode生成二維碼圖片

發布時間:2020-07-21 23:35:54 來源:網絡 閱讀:2251 作者:dingzhaoqiang 欄目:編程語言

組件下載地址:http://download.csdn.net/detail/lybwwp/6861821


下載文件包包含ThoughtWorks.QRCode.dll與dll的源碼,強人可修改些源碼。

字符串較長的情況下,用ThoughtWorks.QRCode生成二維碼時出現“索引超出了數組界限”的錯誤。
解決方法:將 QRCodeVersion 改為0。

此代碼功能:批量生成二維碼圖片保存到指定文件夾中(此圖片可保存,可指定圖片格式和圖片大小)。

引用空間 ThoughtWorks.QRCode.dll

using ThoughtWorks.QRCode.Codec;

[csharp] view plaincopyprint?C# 利用QRCode生成二維碼圖片C# 利用QRCode生成二維碼圖片

  1. #region 二維碼生成  

  2.         /// <summary>  

  3.         /// 批量生成二維碼圖片  

  4.         /// </summary>  

  5.         private void Create_CodeImages()  

  6.         {  

  7.             try  

  8.             {  

  9.                 if (myDataSet != null)  

  10.                 {  

  11.                     if (myDataSet.Tables[0].Rows.Count > 0)  

  12.                     {  

  13.                         //清空目錄  

  14.                         DeleteDir(currentPath);  

  15.                         foreach (DataRow dr in myDataSet.Tables[0].Rows)  

  16.                         {  

  17.                             if (dr[2] != null)  

  18.                             {  

  19.                                 //生成圖片  

  20.                                 Bitmap p_w_picpath = Create_ImgCode(dr[2].ToString(), imgSize);  

  21.                                 //保存圖片  

  22.                                 SaveImg(currentPath, p_w_picpath);  

  23.                             }  

  24.                         }  

  25.                         //打開文件夾  

  26.                         Open_File(currentPath);  

  27.                         myDataSet = null;  

  28.                         return;  

  29.                     }  

  30.                 }  

  31.             }  

  32.             catch(Exception ex) {  

  33.                 MessageBox.Show(ex.ToString (), "錯誤!", MessageBoxButtons.OK, MessageBoxIcon.Error);  

  34.               

  35.             }  

  36.         }  

  37.   

  38.   

  39.         //程序路徑  

  40.         readonly string currentPath = Application.StartupPath + @"\BarCode_Images";  

  41.   

  42.         /// <summary>  

  43.         /// 保存圖片  

  44.         /// </summary>  

  45.         /// <param name="strPath">保存路徑</param>  

  46.         /// <param name="img">圖片</param>  

  47.         public void SaveImg(string strPath, Bitmap img)  

  48.         {  

  49.             //保存圖片到目錄  

  50.             if (Directory.Exists(strPath))  

  51.             {  

  52.                 //文件名稱  

  53.                 string guid = Guid.NewGuid().ToString().Replace("-""") + ".png";  

  54.                 img.Save(strPath + "/" + guid, System.Drawing.Imaging.ImageFormat.Png);  

  55.             }  

  56.             else  

  57.             {  

  58.                 //當前目錄不存在,則創建  

  59.                 Directory.CreateDirectory(strPath);  

  60.             }  

  61.         }  

  62.         /// <summary>  

  63.         /// 生成二維碼圖片  

  64.         /// </summary>  

  65.         /// <param name="codeNumber">要生成二維碼的字符串</param>       

  66.         /// <param name="size">大小尺寸</param>  

  67.         /// <returns>二維碼圖片</returns>  

  68.         public Bitmap Create_ImgCode(string codeNumber, int size)  

  69.         {  

  70.             //創建二維碼生成類  

  71.             QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();  

  72.             //設置編碼模式  

  73.             qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;  

  74.             //設置編碼測量度  

  75.             qrCodeEncoder.QRCodeScale = size;  

  76.             //設置編碼版本  

  77.             qrCodeEncoder.QRCodeVersion = 0;  

  78.             //設置編碼錯誤糾正  

  79.             qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;  

  80.             //生成二維碼圖片  

  81.             System.Drawing.Bitmap p_w_picpath = qrCodeEncoder.Encode(codeNumber);  

  82.             return p_w_picpath;  

  83.         }  

  84.         /// <summary>  

  85.         /// /打開指定目錄  

  86.         /// </summary>  

  87.         /// <param name="path"></param>  

  88.         public void Open_File(string path)  

  89.         {  

  90.             System.Diagnostics.Process.Start("explorer.exe", path);  

  91.         }  

  92.         /// <summary>  

  93.         /// 刪除目錄下所有文件  

  94.         /// </summary>  

  95.         /// <param name="aimPath">路徑</param>  

  96.         public void DeleteDir(string aimPath)  

  97.         {  

  98.             try  

  99.             {  

  100.                 //目錄是否存在  

  101.                 if (Directory.Exists(aimPath))  

  102.                 {  

  103.                     // 檢查目標目錄是否以目錄分割字符結束如果不是則添加之  

  104.                     if (aimPath[aimPath.Length - 1] != Path.DirectorySeparatorChar)  

  105.                         aimPath += Path.DirectorySeparatorChar;  

  106.                     // 得到源目錄的文件列表,該里面是包含文件以及目錄路徑的一個數組  

  107.                     // 如果你指向Delete目標文件下面的文件而不包含目錄請使用下面的方法  

  108.                     string[] fileList = Directory.GetFiles(aimPath);  

  109.                     //string[] fileList = Directory.GetFileSystemEntries(aimPath);  

  110.                     // 遍歷所有的文件和目錄  

  111.                     foreach (string file in fileList)  

  112.                     {  

  113.                         // 先當作目錄處理如果存在這個目錄就遞歸Delete該目錄下面的文件  

  114.                         if (Directory.Exists(file))  

  115.                         {  

  116.                             DeleteDir(aimPath + Path.GetFileName(file));  

  117.                         }  

  118.                         // 否則直接Delete文件  

  119.                         else  

  120.                         {  

  121.                             File.Delete(aimPath + Path.GetFileName(file));  

  122.                         }  

  123.                     }  

  124.                 }  

  125.             }  

  126.             catch (Exception e)  

  127.             {  

  128.                 throw e;  

  129.             }  

  130.         }  

  131.         #endregion  

C# 利用QRCode生成二維碼圖片

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

弋阳县| 罗田县| 越西县| 宁国市| 安义县| 临邑县| 高青县| 邯郸县| 阆中市| 海盐县| 平湖市| 汉寿县| 富川| 柳江县| 交城县| 安化县| 洛浦县| 秀山| 读书| 环江| 宝鸡市| 巴里| 唐河县| 花垣县| 公安县| 乳山市| 北安市| 陵川县| 新竹市| 元阳县| 金溪县| 广平县| 荆州市| 法库县| 湟源县| 宝清县| 乌恰县| 绵竹市| 沽源县| 四会市| 屏东县|