// 【生成带Logo二维码】 private void Create2DOfHaveLogoBtn_Click(object sender, EventArgs e) { // 1.设置QR二维码的规格 ZXing.QrCode.QrCodeEncodingOptions qrEncodeOption = new ZXing.QrCode.QrCodeEncodingOptions(); qrEncodeOption.CharacterSet = "UTF-8"; // 设置编码格式,否则读取'中文'乱码 qrEncodeOption.Height = 200; qrEncodeOption.Width = 200; qrEncodeOption.Margin = 1; // 设置周围空白边距 // 2.生成条形码图片 ZXing.BarcodeWriter wr = new BarcodeWriter(); wr.Format = BarcodeFormat.QR_CODE; // 二维码 wr.Options = qrEncodeOption; Bitmap img = wr.Write(this.ContentTxt.Text); // 3.在二维码的Bitmap对象上绘制logo图片 Bitmap logoImg = Bitmap.FromFile("G:\\pics\\logo二维码" + "\\logo.jpg") as Bitmap; Graphics g = Graphics.FromImage(img); Rectangle logoRec = new Rectangle(); // 设置logo图片的大小和绘制位置 logoRec.Width = img.Width / 6; logoRec.Height = img.Height / 6; logoRec.X = img.Width / 2 - logoRec.Width / 2; // 中心点 logoRec.Y = img.Height / 2 - logoRec.Height / 2; g.DrawImage(logoImg, logoRec); // 4.保存绘制后的图片 string filePath = "G:\\pics\\logo二维码" + "\\QR-" + this.ContentTxt.Text + ".jpg"; img.Save(filePath, System.Drawing.Imaging.ImageFormat.Jpeg); // 5.读取保存的图片 this.ImgPathTxt.Text = filePath; this.barCodeImg.Image = img; MessageBox.Show("保存成功:" + filePath); }
private void btnEncodeOptions_Click(object sender, EventArgs e) { if (cmbEncoderType.SelectedItem == null) { MessageBox.Show(this, "Please select a barcode format first.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } try { EncodingOptions options; switch ((BarcodeFormat)cmbEncoderType.SelectedItem) { case BarcodeFormat.QR_CODE: options = new ZXing.QrCode.QrCodeEncodingOptions { Height = picEncodedBarCode.Height, Width = picEncodedBarCode.Width }; break; case BarcodeFormat.PDF_417: options = new ZXing.PDF417.PDF417EncodingOptions { Height = picEncodedBarCode.Height, Width = picEncodedBarCode.Width }; break; case BarcodeFormat.DATA_MATRIX: options = new ZXing.Datamatrix.DatamatrixEncodingOptions { Height = picEncodedBarCode.Height, Width = picEncodedBarCode.Width, SymbolShape = ZXing.Datamatrix.Encoder.SymbolShapeHint.FORCE_SQUARE, MinSize = new Dimension(picEncodedBarCode.Width, picEncodedBarCode.Height) }; break; default: options = new EncodingOptions { Height = picEncodedBarCode.Height, Width = picEncodedBarCode.Width }; break; } var dlg = new EncodingOptionsForm { Options = options }; if (dlg.ShowDialog(this) == DialogResult.OK) { EncodingOptions = dlg.Options; } } catch (Exception exc) { MessageBox.Show(this, exc.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public LoggedMainPage() { InitializeComponent(); // Código de ejemplo para traducir ApplicationBar BuildLocalizedApplicationBar(); LoggedUser user = LoggedUser.Instance; LoggedUser.Instance.RemoveFriend(); string codigo = "http://pis2013.azurewebsites.net/?id=" + user.GetLoggedUser().Id; EncodingOptions options; options = new ZXing.QrCode.QrCodeEncodingOptions { Height = 500, Width = 500 }; var writer = new ZXing.BarcodeWriter { Format = ZXing.BarcodeFormat.QR_CODE, Options = options }; var writeableBitmap = writer.Write(codigo); ImgQR.Source = writeableBitmap; //UserName.Text =user.GetLoggedUser().Name; if (PageTitle.Text == "share") { PageTitle.FontSize = 95; } }
private void GetQRCode_Click(object sender, EventArgs e) { if (eq != null) { ZXing.QrCode.QrCodeEncodingOptions opt = new ZXing.QrCode.QrCodeEncodingOptions { CharacterSet = "utf-8", Height = 200, Width = 200 }; var writer = new BarcodeWriter { Format = BarcodeFormat.QR_CODE, Options = opt }; string str = eq.Id.ToString() + "," + eq.EquipmentType.name + "," + eq.number; Dictionary <EncodeHintType, object> hints = new Dictionary <EncodeHintType, object>(); hints.Add(EncodeHintType.CHARACTER_SET, "utf-8"); SaveFileDialog savefile = new SaveFileDialog(); // set a default file name savefile.FileName = eq.EquipmentType.name + "_" + eq.number + ".png"; // set filters - this can be done in properties as well savefile.Filter = "PNG files (*.png)|*.png"; if (savefile.ShowDialog() == DialogResult.OK) { writer.Write(str).Save(savefile.FileName, ImageFormat.Png); } } }
public static Bitmap GetCode(string str, ErrorCorrectionLevel ec = ErrorCorrectionLevel.MIDDLE, BarcodeFormat bfType = BarcodeFormat.QR_CODE, int nWidth = 150, int nHeight = 150, int nMargin = 0 ) { try { if (String.IsNullOrEmpty(str)) { throw new Exception("字符串为空"); } ZXing.QrCode.QrCodeEncodingOptions qrEncodeOption = new ZXing.QrCode.QrCodeEncodingOptions(); qrEncodeOption.CharacterSet = "UTF-8"; qrEncodeOption.DisableECI = true; // Extended Channel Interpretation (ECI) 主要用于特殊的字符集。并不是所有的扫描器都支持这种编码。 qrEncodeOption.Height = nHeight; qrEncodeOption.Width = nWidth; qrEncodeOption.Margin = nMargin; switch (ec) { case ErrorCorrectionLevel.HIGH: qrEncodeOption.ErrorCorrection = ZXing.QrCode.Internal.ErrorCorrectionLevel.H; // 纠错级别 break; case ErrorCorrectionLevel.LOW: qrEncodeOption.ErrorCorrection = ZXing.QrCode.Internal.ErrorCorrectionLevel.L; // 纠错级别 break; case ErrorCorrectionLevel.MIDDLE: qrEncodeOption.ErrorCorrection = ZXing.QrCode.Internal.ErrorCorrectionLevel.M; // 纠错级别 break; case ErrorCorrectionLevel.QUE: qrEncodeOption.ErrorCorrection = ZXing.QrCode.Internal.ErrorCorrectionLevel.Q; // 纠错级别 break; } BarcodeWriter writer = new BarcodeWriter(); writer.Format = (ZXing.BarcodeFormat)bfType; writer.Options = qrEncodeOption; // Write 具备生成、写入两个功能 Bitmap bmp = writer.Write(str); using (MemoryStream ms = new MemoryStream()) bmp.Save(ms, ImageFormat.Png); return(bmp); } catch (Exception ex) { throw ex; } }
private EncodingOptions GetEncodeOptions() { if (this.cmbEncoderType.SelectedItem == null) { return(new EncodingOptions()); } BarcodeFormat format = (BarcodeFormat)this.cmbEncoderType.SelectedValue; EncodingOptions options; switch (format) { case BarcodeFormat.QR_CODE: options = new ZXing.QrCode.QrCodeEncodingOptions() { CharacterSet = "UTF-8" }; break; case BarcodeFormat.PDF_417: options = new ZXing.PDF417.PDF417EncodingOptions() { CharacterSet = "UTF-8" }; break; case BarcodeFormat.DATA_MATRIX: options = new ZXing.Datamatrix.DatamatrixEncodingOptions { SymbolShape = ZXing.Datamatrix.Encoder.SymbolShapeHint.FORCE_SQUARE }; break; case BarcodeFormat.AZTEC: options = new ZXing.Aztec.AztecEncodingOptions(); break; case BarcodeFormat.CODE_128: options = new ZXing.OneD.Code128EncodingOptions(); break; default: options = new EncodingOptions(); break; } if (this.CurrentBarcode != null) { options.Width = this.CurrentBarcode.Rect.Width; options.Height = this.CurrentBarcode.Rect.Height; } return(options); }
static int _s_set_ErrorCorrection(RealStatePtr L) { try { ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); ZXing.QrCode.QrCodeEncodingOptions gen_to_be_invoked = (ZXing.QrCode.QrCodeEncodingOptions)translator.FastGetCSObj(L, 1); gen_to_be_invoked.ErrorCorrection = (ZXing.QrCode.Internal.ErrorCorrectionLevel)translator.GetObject(L, 2, typeof(ZXing.QrCode.Internal.ErrorCorrectionLevel)); } catch (System.Exception gen_e) { return(LuaAPI.luaL_error(L, "c# exception:" + gen_e)); } return(0); }
static int _g_get_DisableECI(RealStatePtr L) { try { ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); ZXing.QrCode.QrCodeEncodingOptions gen_to_be_invoked = (ZXing.QrCode.QrCodeEncodingOptions)translator.FastGetCSObj(L, 1); LuaAPI.lua_pushboolean(L, gen_to_be_invoked.DisableECI); } catch (System.Exception gen_e) { return(LuaAPI.luaL_error(L, "c# exception:" + gen_e)); } return(1); }
static int _s_set_CharacterSet(RealStatePtr L) { try { ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); ZXing.QrCode.QrCodeEncodingOptions gen_to_be_invoked = (ZXing.QrCode.QrCodeEncodingOptions)translator.FastGetCSObj(L, 1); gen_to_be_invoked.CharacterSet = LuaAPI.lua_tostring(L, 2); } catch (System.Exception gen_e) { return(LuaAPI.luaL_error(L, "c# exception:" + gen_e)); } return(0); }
static int _s_set_QrVersion(RealStatePtr L) { try { ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); ZXing.QrCode.QrCodeEncodingOptions gen_to_be_invoked = (ZXing.QrCode.QrCodeEncodingOptions)translator.FastGetCSObj(L, 1); System.Nullable <int> gen_value; translator.Get(L, 2, out gen_value); gen_to_be_invoked.QrVersion = gen_value; } catch (System.Exception gen_e) { return(LuaAPI.luaL_error(L, "c# exception:" + gen_e)); } return(0); }
public void SaveInQRcode() { ZXing.QrCode.QrCodeEncodingOptions opt = new ZXing.QrCode.QrCodeEncodingOptions { CharacterSet = "utf-8", Height = 200, Width = 200 }; IBarcodeWriter writer = new BarcodeWriter { Format = BarcodeFormat.QR_CODE, Options = opt }; try { SaveFileDialog savefile = new SaveFileDialog(); StringBuilder builder = new StringBuilder(); // set a default file name savefile.FileName = "unknown.bmp"; // set filters - this can be done in properties as well savefile.Filter = "Bitmap (*.bmp)|*.bmp|All files (*.*)|*.*"; if (savefile.ShowDialog() == DialogResult.OK) { string barstr = ""; foreach (ListViewItem item in _sysInf.lVDiskMon.Items) { foreach (ListViewItem.ListViewSubItem subItem in item.SubItems) { builder.Append(subItem.Text).Append(" "); } barstr += "\n" + builder.ToString(); builder.Clear(); //var barcodeWriter = new BarcodeWriter(); // set the barcode format //writer.Format = BarcodeFormat.QR_CODE; // write text and generate a 2-D barcode as a bitmap writer.Write(barstr).Save(savefile.FileName); } } } catch (Exception exc) { MessageBox.Show(exc.Message); } }
public static Color32[] GenQRCodeRaw(string formatStr, int width, int height) { ZXing.QrCode.QrCodeEncodingOptions options = new ZXing.QrCode.QrCodeEncodingOptions(); options.CharacterSet = "UTF-8"; options.Width = width; options.Height = height; options.Margin = 1; BarcodeWriter barcodeWriter = new BarcodeWriter { Format = ZXing.BarcodeFormat.QR_CODE, Options = options }; return(barcodeWriter.Write(formatStr)); }
private void optionChanged() { Tuple <ZXing.QrCode.Internal.ErrorCorrectionLevel, string> item = getSelectedOptions(); ZXing.QrCode.QrCodeEncodingOptions options = new ZXing.QrCode.QrCodeEncodingOptions { DisableECI = true, CharacterSet = item.Item2, Width = 870, Height = 870, ErrorCorrection = item.Item1 }; mBarcodeWriter.Options = options; drawQRCode(); }
static int __CreateInstance(RealStatePtr L) { try { ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); if (LuaAPI.lua_gettop(L) == 1) { ZXing.QrCode.QrCodeEncodingOptions gen_ret = new ZXing.QrCode.QrCodeEncodingOptions(); translator.Push(L, gen_ret); return(1); } } catch (System.Exception gen_e) { return(LuaAPI.luaL_error(L, "c# exception:" + gen_e)); } return(LuaAPI.luaL_error(L, "invalid arguments to ZXing.QrCode.QrCodeEncodingOptions constructor!")); }
public Bitmap grant_qrcode(string num_str, int w, int h) { // 1.设置QR二维码的规格 ZXing.QrCode.QrCodeEncodingOptions qrEncodeOption = new ZXing.QrCode.QrCodeEncodingOptions(); qrEncodeOption.CharacterSet = "UTF-8"; // 设置编码格式,否则读取'中文'乱码 qrEncodeOption.Height = h; qrEncodeOption.Width = w; qrEncodeOption.Margin = 1; // 设置周围空白边距 // 2.生成条形码图片并保存 ZXing.BarcodeWriter wr = new BarcodeWriter(); wr.Format = BarcodeFormat.QR_CODE; // 二维码 wr.Options = qrEncodeOption; Bitmap img = wr.Write(num_str); return(img); }
public byte[] qrGenerator(string toEncode) { ZXing.QrCode.QrCodeEncodingOptions s = new ZXing.QrCode.QrCodeEncodingOptions(); s.Height = 1000; s.Width = 1000; s.Margin = 1; s.QrVersion = 2; s.ErrorCorrection = ZXing.QrCode.Internal.ErrorCorrectionLevel.Q; var qWriter = new BarcodeWriter(); qWriter.Format = BarcodeFormat.QR_CODE; qWriter.Options = s; Bitmap img = qWriter.Write(toEncode); ImageConverter ic = new ImageConverter(); return((byte[])ic.ConvertTo(img, typeof(byte[]))); }
// 【生成二维码】 private void Create2DBtn_Click(object sender, EventArgs e) { // 1.设置QR二维码的规格 ZXing.QrCode.QrCodeEncodingOptions qrEncodeOption = new ZXing.QrCode.QrCodeEncodingOptions(); qrEncodeOption.CharacterSet = "UTF-8"; // 设置编码格式,否则读取'中文'乱码 qrEncodeOption.Height = 200; qrEncodeOption.Width = 200; qrEncodeOption.Margin = 1; // 设置周围空白边距 // 2.生成条形码图片并保存 ZXing.BarcodeWriter wr = new BarcodeWriter(); wr.Format = BarcodeFormat.QR_CODE; // 二维码 wr.Options = qrEncodeOption; Bitmap img = wr.Write(this.ContentTxt.Text); string filePath = "G:\\pics\\二维码" + "\\QR-" + this.ContentTxt.Text + ".jpg"; img.Save(filePath, System.Drawing.Imaging.ImageFormat.Jpeg); // 3.读取保存的图片 this.ImgPathTxt.Text = filePath; this.barCodeImg.Image = img; MessageBox.Show("保存成功:" + filePath); }
public static System.IO.MemoryStream GenerateQrcode(string textContent, int height = 100, int width = 100) { System.IO.MemoryStream memoryStream = new System.IO.MemoryStream(); // instantiate a writer object ZXing.BarcodeWriter barcodeWriter = new ZXing.BarcodeWriter(); // set the barcode format ZXing.QrCode.QrCodeEncodingOptions qrCodeEncodingOptions = new ZXing.QrCode.QrCodeEncodingOptions(); qrCodeEncodingOptions.Margin = 1; qrCodeEncodingOptions.Height = height; qrCodeEncodingOptions.Width = width; barcodeWriter.Format = ZXing.BarcodeFormat.QR_CODE; barcodeWriter.Options = qrCodeEncodingOptions; // write text and generate a 2-D barcode as a bitmap barcodeWriter.Write(textContent).Save(memoryStream, System.Drawing.Imaging.ImageFormat.Png); memoryStream.Flush(); memoryStream.Seek(0, System.IO.SeekOrigin.Begin); return(memoryStream); }
public MainWindow() { InitializeComponent(); this.Title = $"二维码生成器 - V {System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString()}"; mBarcodeWriter = new ZXing.BarcodeWriter(); ZXing.QrCode.QrCodeEncodingOptions options = new ZXing.QrCode.QrCodeEncodingOptions { DisableECI = true, CharacterSet = "UTF-8", Width = 870, Height = 870, ErrorCorrection = ZXing.QrCode.Internal.ErrorCorrectionLevel.L, }; mBarcodeWriter.Format = ZXing.BarcodeFormat.QR_CODE; mBarcodeWriter.Options = options; initEvent(); this.txtQRCodeContent.AppendText("测试"); }