Beispiel #1
0
 /// <summary>
 /// 生成二维码
 /// </summary>
 /// <param name="text">二维码文本</param>
 /// <param name="scale">尺寸</param>
 /// <param name="version">版本</param>
 /// <param name="mode">编码模式</param>
 /// <param name="errorCorrect">错误纠正级别</param>
 /// <returns></returns>
 public static Image GenerateQRCode(string text, int scale = 5, int version = 0, ENCODE_MODE mode = ENCODE_MODE.BYTE, ERROR_CORRECTION errorCorrect = ERROR_CORRECTION.M)
 {
     try
     {
         if (!string.IsNullOrEmpty(text))
         {
             var qrCoder = new QRCodeEncoder();
             qrCoder.QRCodeEncodeMode   = EnumHelper.Parse <QRCodeEncoder.ENCODE_MODE>(mode.ToString());
             qrCoder.QRCodeScale        = 5;
             qrCoder.QRCodeVersion      = 0;
             qrCoder.QRCodeErrorCorrect = EnumHelper.Parse <QRCodeEncoder.ERROR_CORRECTION>(errorCorrect.ToString());
             return(Image.FromHbitmap(qrCoder.Encode(text, Encoding.GetEncoding("GB2312")).GetHbitmap()));
         }
     }
     catch { }
     return(null);
 }