private void FMain_Load(object sender, EventArgs e) { loadConfig(); printDocument = new PrintDocument(); printDocument.PrintPage += new PrintPageEventHandler(this.printDocument_PrintPage); printDocument.BeginPrint += new PrintEventHandler(printDocument_BeginPrint); printDocument.QueryPageSettings += new QueryPageSettingsEventHandler(printDocument_QueryPageSettings); log.richTextBox = richTextBox1; encoder = new ThoughtWorks.QRCode.Codec.QRCodeEncoder(); encoder.QRCodeEncodeMode = ThoughtWorks.QRCode.Codec.QRCodeEncoder.ENCODE_MODE.BYTE; //二维码编码方式 encoder.QRCodeScale = 10; //每个小方格的宽度 encoder.QRCodeVersion = 5; //二维码版本号 encoder.QRCodeErrorCorrect = ThoughtWorks.QRCode.Codec.QRCodeEncoder.ERROR_CORRECTION.M; //纠错码等级 sqlCon = new SqlConnection(); sqlCon.ConnectionString = sqlConnectionString; try { sqlCon.Open(); } catch (Exception ee) { log.writeLogError("无法连接数据库,errorString=" + ee.Message); return; } sqlCmd = new SqlCommand(); sqlCmd.Connection = sqlCon; log.writeLogCommon("数据库连接成功"); }
private void btnGenerator_Click(object sender, RoutedEventArgs e) { if (string.IsNullOrEmpty(txtQrCodeText.Text)) { return; } ThoughtWorks.QRCode.Codec.QRCodeEncoder qrCodeEncoder = new ThoughtWorks.QRCode.Codec.QRCodeEncoder(); qrCodeEncoder.QRCodeEncodeMode = ThoughtWorks.QRCode.Codec.QRCodeEncoder.ENCODE_MODE.ALPHA_NUMERIC; qrCodeEncoder.QRCodeErrorCorrect = ThoughtWorks.QRCode.Codec.QRCodeEncoder.ERROR_CORRECTION.M; var image = qrCodeEncoder.Encode(txtQrCodeText.Text); imgQrCode.Source = BitmapToBitmapImage(image); }
public static Bitmap CreateQrCode(string qrContent, string logoPicture) { ThoughtWorks.QRCode.Codec.QRCodeEncoder encoder = new ThoughtWorks.QRCode.Codec.QRCodeEncoder(); encoder.QRCodeEncodeMode = ThoughtWorks.QRCode.Codec.QRCodeEncoder.ENCODE_MODE.BYTE; encoder.QRCodeScale = 5; encoder.QRCodeVersion = 6; Bitmap bmp = encoder.Encode(qrContent, System.Text.Encoding.UTF8); Graphics g = Graphics.FromImage(bmp); if (!string.IsNullOrEmpty(logoPicture) && System.IO.File.Exists(logoPicture)) { Image logo = Image.FromFile(logoPicture); g.DrawImage(logo, (bmp.Width - logo.Width) / 2, (bmp.Height - logo.Height) / 2, logo.Width, logo.Height); } return(bmp); }
public void QRCode(PictureBox pic_box, string data) { try { ThoughtWorks.QRCode.Codec.QRCodeEncoder objQRCode = new ThoughtWorks.QRCode.Codec.QRCodeEncoder(); Image imgImage; objQRCode.QRCodeEncodeMode = ThoughtWorks.QRCode.Codec.QRCodeEncoder.ENCODE_MODE.BYTE; objQRCode.QRCodeScale = 4; objQRCode.QRCodeVersion = 7; objQRCode.QRCodeErrorCorrect = ThoughtWorks.QRCode.Codec.QRCodeEncoder.ERROR_CORRECTION.L; imgImage = objQRCode.Encode(data); pic_box.Image = imgImage; } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public static Image Generate(string data) { var qrCodeEncoder = new ThoughtWorks.QRCode.Codec.QRCodeEncoder(); qrCodeEncoder.QRCodeEncodeMode = ThoughtWorks.QRCode.Codec.QRCodeEncoder.ENCODE_MODE.BYTE; qrCodeEncoder.QRCodeScale = 16; qrCodeEncoder.QRCodeVersion = 4; qrCodeEncoder.QRCodeErrorCorrect = ThoughtWorks.QRCode.Codec.QRCodeEncoder.ERROR_CORRECTION.L; Bitmap temp = null; Action encode = null; encode = () => { try { temp = qrCodeEncoder.Encode(data, System.Text.Encoding.UTF8); } catch (Exception) { qrCodeEncoder.QRCodeVersion++; encode(); } }; encode(); Image image = new Bitmap(temp.Width + 10, temp.Height + 10); Graphics gra = Graphics.FromImage(image); gra.Clear(Color.White); gra.DrawImage(temp, new Rectangle { Width = temp.Width, Height = temp.Height, X = 10, Y = 10 }, new Rectangle { Width = image.Width, Height = image.Width }, GraphicsUnit.Pixel); gra.Dispose(); return(image); }
// http://stackoverflow.com/questions/4213788/how-to-create-clr-stored-procedure-with-nvarcharmax-parameter // Warning: QR-Code has upper limit in number of characters accepted public static byte[] GenerateQrCode(string data) { byte[] ba = null; ThoughtWorks.QRCode.Codec.QRCodeEncoder QRcodeInstance = new ThoughtWorks.QRCode.Codec.QRCodeEncoder(); QRcodeInstance.QRCodeEncodeMode = ThoughtWorks.QRCode.Codec.QRCodeEncoder.ENCODE_MODE.BYTE; QRcodeInstance.QRCodeErrorCorrect = ThoughtWorks.QRCode.Codec.QRCodeEncoder.ERROR_CORRECTION.L; // H QRcodeInstance.QRCodeScale = 2; //QRcodeInstance.QRCodeVersion = 7; QRcodeInstance.QRCodeVersion = 15; // 29 using (System.IO.MemoryStream ms = new System.IO.MemoryStream()) { using (System.Drawing.Image img = QRcodeInstance.Encode(data)) { img.Save(ms, System.Drawing.Imaging.ImageFormat.Png); } ba = ms.ToArray(); } return(ba); }