public bool GetQRCode(string strContent, string path, string backgroundPath, int width, int height, int x, int y, MemoryStream ms) { ErrorCorrectionLevel Ecl = ErrorCorrectionLevel.M; //误差校正水平 string Content = strContent; //待编码内容 QuietZoneModules QuietZones = QuietZoneModules.Two; //空白区域 int ModuleSize = 12; //大小 var encoder = new QrEncoder(Ecl); QrCode qr; if (encoder.TryEncode(Content, out qr))//对内容进行编码,并保存生成的矩阵 { var render = new GraphicsRenderer(new FixedModuleSize(ModuleSize, QuietZones)); render.WriteToStream(qr.Matrix, ImageFormat.Png, ms); Bitmap b = new Bitmap(width, height); Graphics g = Graphics.FromImage(b); using (FileStream fs = new FileStream(backgroundPath, FileMode.Open)) { Bitmap bmp = new Bitmap(fs); Bitmap bmp2 = new Bitmap(ms); // Graphics g2 = Graphics.FromImage(bmp); g.DrawImage(bmp2, new Rectangle(x, y, width, height)); bmp.Save(path); } } else { return(false); } return(true); }
public ActionResult GenerateQrCode() { var userName = User.Identity.Name; var user = _userService.GetUserById(User.Identity.GetUserId()); string barcodeText = userName + "_" + user.PasswordHash; var qrEncoder = new QrEncoder(ErrorCorrectionLevel.H); var qrCode = new QrCode(); qrEncoder.TryEncode(barcodeText, out qrCode); var renderer = new GraphicsRenderer(new FixedModuleSize(4, QuietZoneModules.Four), Brushes.Black, Brushes.White); Stream memoryStream = new MemoryStream(); renderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, memoryStream); memoryStream.Position = 0; var resultStream = new FileStreamResult(memoryStream, "image/png") { FileDownloadName = $"uStora_qr_{userName}_{DateTime.Now:yyyyMMddhhmmsss}.png" }; user.QrCode = barcodeText; _userService.SaveChanges(); return(resultStream); }
private void GenerarCodigoQR() { string texto = this.tb_texto.Text.Trim(); //si el text box no tiene valores nulos ni esta limpio if (!string.IsNullOrEmpty(texto)) { QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H); QrCode qrCode = new QrCode(); try { //tratamos de convertir el texto en codigo qr qrEncoder.TryEncode(texto, out qrCode); GraphicsRenderer renderer = new GraphicsRenderer(new FixedCodeSize(400, QuietZoneModules.Zero), Brushes.Black, Brushes.FloralWhite); MemoryStream ms = new MemoryStream(); renderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, ms); var imagen_temporal = new Bitmap(ms); var imagen = new Bitmap(imagen_temporal, new Size(new Point(200, 200))); pn_generador.BackgroundImage = imagen_temporal; } catch (Exception ex) { MessageBox.Show(ex.Message, "Información", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } GC.Collect(); } else { MessageBox.Show("Escribe algo flojo :v", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information); tb_texto.Focus(); } }
/// <summary> /// Render the Matrix as a PNG image /// </summary> /// <param name="ms">MemoryStream to store the image bytes into</param> internal void Render(MemoryStream ms) { var render = new GraphicsRenderer(new FixedModuleSize(ModuleSize, QuietZones)); render.WriteToStream(Matrix, ImageFormat.Png, ms); ContentType = "image/png"; }
private void CreateFile(QrCodePart part) { var item = _contentManager.Get(part.ContentItem.Id); if (item != null && item.Has <QrCodePart>()) { var qrEncoder = new QrEncoder(ErrorCorrectionLevel.M); var qrCode = new QrCode(); var thevalue = string.IsNullOrWhiteSpace(part.Record.Value) ? part.Settings.GetModel <QrCodeTypePartSettings>().Value : part.Record.Value; var tokens = new Dictionary <string, object> { { "Content", part.ContentItem } }; thevalue = _tokenizer.Replace(thevalue, tokens); if (qrEncoder.TryEncode(thevalue, out qrCode)) { var renderer = new GraphicsRenderer(new FixedCodeSize(item.As <QrCodePart>().Size, QuietZoneModules.Zero), Brushes.Black, Brushes.White); var stream = new MemoryStream(); renderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, stream); stream.Position = 0; var outputPath = _orchardServices.WorkContext.HttpContext.Server.MapPath(string.Format("~/Media/{0}/qrcode", _shellSettings.Name)); if (!Directory.Exists(outputPath)) { Directory.CreateDirectory(outputPath); } var filename = outputPath + @"\qrcode_" + part.ContentItem.Id.ToString() + ".png"; using (FileStream file = new FileStream(filename, FileMode.Create, System.IO.FileAccess.Write)) { var bytes = new byte[stream.Length]; stream.Read(bytes, 0, (int)stream.Length); file.Write(bytes, 0, bytes.Length); stream.Close(); } } } }
private void button4_Click(object sender, EventArgs e) { QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M); QrCode qrCode = qrEncoder.Encode(_demoString); //保存成png文件 string filename = @"QRCodeResize.png"; //ModuleSize 设置图片大小 //QuietZoneModules 设置周边padding /* * 5----150*150 padding:5 最终165*165 * 10----300*300 padding:10 最终330 * 330 * 20----600*600 padding:20 最终660 * 660 */ //GraphicsRenderer render = new GraphicsRenderer(new FixedModuleSize(10, QuietZoneModules.Two), Brushes.Black, Brushes.White); GraphicsRenderer render = new GraphicsRenderer(new FixedModuleSize(20, QuietZoneModules.Two), Brushes.Black, Brushes.White); using (FileStream stream = new FileStream(filename, FileMode.Create)) { render.WriteToStream(qrCode.Matrix, ImageFormat.Png, stream); } //Point padding = new Point(10, 10); //DrawingSize dSize = render.SizeCalculator.GetSize(qrCode.Matrix.Width); //Bitmap map = new Bitmap(dSize.CodeWidth + padding.X, dSize.CodeWidth + padding.Y); //Graphics g = Graphics.FromImage(map); //render.Draw(g, qrCode.Matrix, padding); //map.Save(filename, ImageFormat.Png); }
private void codigoqr(string folio) { try { string valor = folio; QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H); QrCode qrCode = new QrCode(); qrEncoder.TryEncode(valor, out qrCode); GraphicsRenderer renderer = new GraphicsRenderer(new FixedCodeSize(400, QuietZoneModules.Zero), Brushes.Black, Brushes.White); MemoryStream ms = new MemoryStream(); renderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, ms); var imageTemporal = new Bitmap(ms); imagen = new Bitmap(imageTemporal, new Size(new Point(100, 100))); //imagen.Save("imagen.png", ImageFormat.Png); // Guardar en el disco duro la imagen (Carpeta del proyecto) } catch (Exception err) { string error = err.Message; MessageBox.Show("Ocurrio un Error con qr, intente de nuevo."); string funcion = "codigoqr"; Utilerias.LOG.write(_clase, funcion, error); } }
public void ShouldFailInParallelRunning() { // Arrange var qrEncoder = new QrEncoder(ErrorCorrectionLevel.M); var qrCode = qrEncoder.Encode("Hello World"); var list = new List <Task>(); // Act for (var i = 0; i < 1000; i++) { list.Add(Task.Factory.StartNew(() => { using (var ms = new MemoryStream()) { var renderer = new GraphicsRenderer(new FixedModuleSize(5, QuietZoneModules.Two), Brushes.Black, Brushes.White); renderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, ms); } })); } // Assert Assert.ThrowsException <AggregateException>(() => { Task.WaitAll(list.ToArray()); }); }
/// <summary> /// 写入二维码 /// </summary> /// <param name="entity"></param> private void WriteQRCode(QRCodeEntity entity, Dictionary <string, object> dicSource) { float CurrentTop = entity.Top + this.CurrentHeight; string content = string.Empty; if (entity.ContentType == 2) { content = entity.Content; int beginIndex = content.IndexOf("{{"); int endIndex = content.LastIndexOf("}}"); string key = content.Substring(beginIndex + 2, endIndex - beginIndex - 2); string Value = dicSource.Value <string, object>(key) as string; content = Value; } else if (entity.ContentType == 1) { content = entity.Content; } QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H); QrCode qrCode = new QrCode(); qrEncoder.TryEncode(content, out qrCode); using (MemoryStream ms = new MemoryStream()) { if (entity.ModuleSize <= 0 || entity.ModuleSize > 5) { entity.ModuleSize = 3; } GraphicsRenderer renderer = new GraphicsRenderer(new FixedModuleSize(entity.ModuleSize, QuietZoneModules.Two)); renderer.WriteToStream(qrCode.Matrix, ImageFormat.Jpeg, ms); Image image = Image.FromStream(ms); g.DrawImage(image, new PointF(entity.Left, CurrentTop)); } }
/// <summary> /// 生成二维码图片 /// </summary> /// <param name="codeContent"></param> /// <param name="fileName"></param> /// <returns></returns> public static bool CreateImgCode(string codeContent, string fileName) { bool flag = false; try { string path = Path.GetDirectoryName(fileName); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } //创建二维码生成类 QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M); QrCode qrCode = new QrCode(); qrEncoder.TryEncode(codeContent, out qrCode); GraphicsRenderer gRender = new GraphicsRenderer(new FixedModuleSize(30, QuietZoneModules.Four)); BitMatrix matrix = qrCode.Matrix; //qrCodeGraphicControl1.GetQrMatrix(); using (FileStream stream = new FileStream(fileName, FileMode.Create)) { gRender.WriteToStream(matrix, System.Drawing.Imaging.ImageFormat.Png, stream, new Point(600, 600)); } flag = true; } catch (Exception ex) { ClassLoger.Error("QrCodeHelper.Create_ImgCode"); } return(flag); }
protected void Page_Load(object sender, EventArgs e) { var api = Request["Api"]; if (String.IsNullOrEmpty(api)) { return; } var manager = new OAuthHelper(ConfigurationManager.AppSettings["wxappid"]); var url = manager.BuildOAuthUrl("http://wx.taogame.com/OAuthUserInfoDemo.aspx", api == "snsapi_base" ? OAuthScope.Base : OAuthScope.UserInfo, api); QrEncoder encoder = new QrEncoder(ErrorCorrectionLevel.M); QrCode qrCode; encoder.TryEncode(url, out qrCode); GraphicsRenderer gRenderer = new GraphicsRenderer( new FixedModuleSize(2, QuietZoneModules.Two), Brushes.Black, Brushes.White); MemoryStream ms = new MemoryStream(); gRenderer.WriteToStream(qrCode.Matrix, ImageFormat.Jpeg, ms); Response.BinaryWrite(ms.ToArray()); }
/// 获取二维码 /// </summary> /// <param name="content">内容</param> /// <param name="ModuleSize">大小(数值*25px)</param> /// <returns>二维码图片</returns> public Bitmap GetQRCode(string content, int ModuleSize) { Bitmap bitmap = null; try { //生成二维码 using (MemoryStream ms = new MemoryStream()) { ErrorCorrectionLevel Ecl = ErrorCorrectionLevel.M; //误差校正水平 string Content = content; //待编码内容 QuietZoneModules QuietZones = QuietZoneModules.Two; //空白区域 var encoder = new QrEncoder(Ecl); QrCode qr; if (encoder.TryEncode(Content, out qr))//对内容进行编码,并保存生成的矩阵 { var render = new GraphicsRenderer(new FixedModuleSize(ModuleSize, QuietZones)); render.WriteToStream(qr.Matrix, ImageFormat.Png, ms); } bitmap = new Bitmap(ms); } } catch (Exception e) { throw e; } return(bitmap); }
private void button1_Click(object sender, EventArgs e) { /// generar un codigo QR para los elementos de la caja // crear un encoder, codificador QrEncoder Codificador = new QrEncoder(ErrorCorrectionLevel.H); // crear un codigo QR QrCode Codigo = new QrCode(); // generar generar un codigo apartir de datos, y pasar el codigo por referencia Codificador.TryEncode(textBox1.Text, out Codigo); // generar un graficador GraphicsRenderer Renderisado = new GraphicsRenderer(new FixedCodeSize(200, QuietZoneModules.Zero), Brushes.Black, Brushes.White); // generar un flujo de datos MemoryStream ms = new MemoryStream(); // escribir datos en el renderizado Renderisado.WriteToStream(Codigo.Matrix, ImageFormat.Png, ms); // generar controles para ponerlos en el form var ImagenQR = new Bitmap(ms); var ImgenSalida = new Bitmap(ImagenQR, new Size(panel1.Width, panel1.Height)); // asignar la imagen al panel panel1.BackgroundImage = ImgenSalida; }
//To generate QRCode public string GenerateQRCode(string BookID, string BookName) { string qr_id = ""; try { var qrEncoder = new QrEncoder(ErrorCorrectionLevel.H); var qrCode = qrEncoder.Encode(BookID + BookName); long i = 1; foreach (byte b in Guid.NewGuid().ToByteArray()) { i *= ((int)b + 1); } qr_id = String.Format("{0:d9}", (DateTime.Now.Ticks / 10) % 1000000000); var renderer = new GraphicsRenderer(new FixedModuleSize(5, QuietZoneModules.Two), Brushes.Black, Brushes.White); string path = "F:/k_dev/QRCodes/" + BookID + ".png"; using (var stream = new FileStream(path, FileMode.Create)) renderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, stream); } catch (Exception ex) { throw ex; } return(qr_id + ".png"); }
/// <summary> /// 获取二维码 /// </summary> /// <param name="strContent">待编码的字符</param> /// <param name="ms">输出流</param> ///<returns>True if the encoding succeeded, false if the content is empty or too large to fit in a QR code</returns> public static bool GetQRCode(string strContent, MemoryStream ms) { try { ErrorCorrectionLevel Ecl = ErrorCorrectionLevel.M; //误差校正水平 string Content = strContent; //待编码内容 QuietZoneModules QuietZones = QuietZoneModules.Two; //空白区域 int ModuleSize = 12; //大小 var encoder = new QrEncoder(Ecl); QrCode qr; if (encoder.TryEncode(Content, out qr))//对内容进行编码,并保存生成的矩阵 { var render = new GraphicsRenderer(new FixedModuleSize(ModuleSize, QuietZones)); render.WriteToStream(qr.Matrix, ImageFormat.Png, ms); } else { return(false); } return(true); } catch { return(false); } }
public byte[] Generator(string codeString, int size) { this.qrCodeSize = size; this.qrCodeString = codeString; QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H); Gma.QrCodeNet.Encoding.QrCode qrCode = new Gma.QrCodeNet.Encoding.QrCode(); qrEncoder.TryEncode(QrCodeString, out qrCode); var renderer = new GraphicsRenderer(new FixedCodeSize(QrCodeSize, QuietZoneModules.Zero), Brushes.Black, Brushes.White); MemoryStream stream = new MemoryStream(); renderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, stream); byte[] qrCodeBuffer = null; try { qrCodeBuffer = stream.ToBuffer(); } catch (Exception exception) { SimpleConsole.WriteLine("Generator qr code fail. exception message:" + exception.Message); } return(qrCodeBuffer); }
static void Main(string[] args) { String Folio_val = args[0]; string path = Directory.GetCurrentDirectory(); // String Folio_val = "https://www.google.com"; // String Direccion = "http://rppccolimaevidencias.col.gob.mx:8182/evidencia/Certi2?Secuence=" + Folio_val; String Direccion = Folio_val; QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H); QrCode qrCode = new QrCode(); qrEncoder.TryEncode(Direccion, out qrCode); GraphicsRenderer render = new GraphicsRenderer(new FixedModuleSize(400, QuietZoneModules.Zero), Brushes.Black, Brushes.White); MemoryStream ms = new MemoryStream(); render.WriteToStream(qrCode.Matrix, ImageFormat.Jpeg, ms); var imagenTemporal = new Bitmap(ms); var imagen = new Bitmap(imagenTemporal, new Size(new Point(200, 200))); imagen.Save(@path + "\\codigo.jpeg", ImageFormat.Jpeg); using (Document doc = new Document(PageSize.LETTER, 30f, 20f, 50f, 40f)) { PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(@path + "\\prueba.pdf", FileMode.Create)); writer.PageEvent = new HeaderFooter(); doc.Open(); iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(@path + "\\codigo.jpeg"); iTextSharp.text.Font _standardFont = new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.HELVETICA, 8, iTextSharp.text.Font.NORMAL, BaseColor.BLACK); img.SetAbsolutePosition(500, 700); img.ScaleToFit(50f, 50F); doc.Add(img); doc.Close(); writer.Close(); } Console.WriteLine(Folio_val); }
/// <summary> /// 生成二维码图片 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button2_Click(object sender, EventArgs e) { List <string> list = new List <string>() { "TK101", "TK102", "TK103", "TK104", "TK201", "TK202", "TK203", "TK204", "TK205", "TK206", "TK207", "TK208", "TK209", "TK210", "TK211", "TK212", "TK213", "TK214", "TK301", "TK302", "TK303", "TK304", "TK401", "TK402", "TK403", "TK404", "TK405", "TK406", "TK407", "TK408", "TK409", "TK410", "TK411", "TK412", "TK413", "TK414", }; foreach (string str in list) { string Content = str; QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H); QrCode qrCode = new QrCode(); qrEncoder.TryEncode(Content, out qrCode); using (MemoryStream ms = new MemoryStream()) { GraphicsRenderer renderer = new GraphicsRenderer(new FixedModuleSize(18, QuietZoneModules.Two), Brushes.White, Brushes.MidnightBlue); renderer.WriteToStream(qrCode.Matrix, ImageFormat.Jpeg, ms); Image image = Image.FromStream(ms); image.Save(str + ".jpg"); } } }
static void Main(string[] args) { QrEncoder qr = new QrEncoder(ErrorCorrectionLevel.M); QrCode myQrCode = new QrCode(); bool isSuccess = qr.TryEncode("This is a test", out myQrCode); if (isSuccess == true) { Console.WriteLine($"QrCode Matrix Height:{myQrCode.Matrix.Height}, Wide={myQrCode.Matrix.Width}"); int qrsize = myQrCode.Matrix.Width; if (qrsize < 600) { qrsize = 600; } else { qrsize += 600; } ImageFormat imageFormat = ImageFormat.Png; GraphicsRenderer qrRender = new GraphicsRenderer( new FixedCodeSize(qrsize, QuietZoneModules.Two)); FileStream imgFile = new FileStream($".\\abc3.{imageFormat}", FileMode.Create); qrRender.WriteToStream(myQrCode.Matrix, imageFormat, imgFile); imgFile.Close(); } }
public void Pulsera(string loteCanal, int numeroCanal) { string lString = loteCanal + ":::" + numeroCanal.ToString(); string lRuta = Path.GetTempPath().ToString() + numeroCanal + "qrCode.bmp"; QrEncoder encoder = new QrEncoder(ErrorCorrectionLevel.H); QrCode lQrCode = encoder.Encode(lString); GraphicsRenderer renderer = new GraphicsRenderer(new FixedModuleSize(5, QuietZoneModules.Two), Brushes.Black, Brushes.White); FileStream fileStream = new FileStream(lRuta, FileMode.Create); renderer.WriteToStream(lQrCode.Matrix, ImageFormat.Bmp, fileStream); fileStream.Close(); Image imageQRCode = Image.FromFile(lRuta); //FIN this.rvVisorReportes.LocalReport.DataSources.Clear(); this.dataSet.Clear(); this.dataTable.Clear(); this.dataTable = new DataTable("Pulsera"); DataColumn colLote = new DataColumn(); colLote.DataType = System.Type.GetType("System.String"); colLote.ColumnName = "lote"; DataColumn colNumeroCanal = new DataColumn(); colNumeroCanal.DataType = System.Type.GetType("System.Int32"); colNumeroCanal.ColumnName = "numeroCanal"; DataColumn colQRCode = new DataColumn(); colQRCode.DataType = System.Type.GetType("System.Byte[]"); colQRCode.ColumnName = "qrCode"; this.dataTable.Columns.Add(colLote); this.dataTable.Columns.Add(colNumeroCanal); this.dataTable.Columns.Add(colQRCode); this.dataRow = this.dataTable.NewRow(); this.dataRow["lote"] = loteCanal; this.dataRow["numeroCanal"] = numeroCanal; this.dataRow["qrCode"] = GetBytes(imageQRCode); this.dataTable.Rows.Add(this.dataRow); this.dataSet.Tables.Add(this.dataTable); this.reportDataSource = new ReportDataSource("Pulsera", this.dataTable); this.rvVisorReportes.LocalReport.DataSources.Add(this.reportDataSource); this.rvVisorReportes.LocalReport.ReportEmbeddedResource = "FYRASA.Informes.Pulsera.rdlc"; this.rvVisorReportes.RefreshReport(); this.ShowDialog(); }
/// <summary> /// Méthode retournant un objet d'image Bitmap d'un code QR /// </summary> /// <param name="text">Le texte à encoder</param> /// <param name="errorCorrection">Le niveau de correction d'erreur choisi. Détermine le pourcentage de la structure du codeQR est utilisé pour corriger les erreurs.</param> /// <returns>Objet BitmapImage du codeQR</returns> public static BitmapImage getQrBitmap(string text, ErrorCorrectionLevel errorCorrection = ErrorCorrectionLevel.M) { QrCode qrCode; QrEncoder qrEncoder = new QrEncoder(errorCorrection); //Peut techniquement échouer et le cas n'est pas géré. qrEncoder.TryEncode(text, out qrCode); //Détermine l'épaisseur des traits, la couleur de fond et la couleur du code QR. GraphicsRenderer gRenderer = new GraphicsRenderer( new FixedModuleSize(2, QuietZoneModules.Two), Brushes.Black, Brushes.White); BitmapImage bi = new BitmapImage(); using (MemoryStream memoryStream = new MemoryStream()) { //Utilise les bytes du codeQR encodé qui se trouve dans l'objet qrCode dans un MemoryStream pour faire une BitmapImage. gRenderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, memoryStream); bi.BeginInit(); bi.CacheOption = BitmapCacheOption.OnLoad; bi.StreamSource = memoryStream; bi.EndInit(); } return(bi); }
/// <summary> /// 生成二维码 /// </summary> /// <param name="code">字符串</param> /// <param name="eSize">二维码尺寸</param> /// <param name="img">小图</param> /// <param name="iSize">小图尺寸</param> /// <param name="bColor">二维码背景颜色</param> /// <param name="fColor">二维码颜色</param> /// <returns></returns> public static Image GetQrcode(string code, int eSize, Image img, int iSize, Brush bColor, Brush fColor) { var qrcoder = new QrEncoder(ErrorCorrectionLevel.H); var qrCode = qrcoder.Encode(code); var render = new GraphicsRenderer(new FixedModuleSize(5, QuietZoneModules.Four), fColor, bColor); using (Stream stream = new MemoryStream()) { eSize = eSize > 0 ? eSize : 200; render.WriteToStream(qrCode.Matrix, ImageFormat.Png, stream, new Point(10, 10)); var be = new Bitmap(stream); be = ResizeImage(be, eSize, eSize); Graphics ge = Graphics.FromImage(be); if (img != null) { iSize = iSize > 0 ? iSize : 50; img = ResizeImage(img, iSize, iSize); //小图白色边框 var bi = new Bitmap(iSize + 10, iSize + 10); Graphics gi = Graphics.FromImage(bi); gi.Clear(Color.White); gi.DrawImage(img, 5, 5, iSize, iSize); //将小图插入到二维码图片中 ge.DrawImage(bi, (eSize - iSize) / 2, (eSize - iSize) / 2, iSize, iSize); } return(be); } }
private void btnConsultarLibro_Click(object sender, EventArgs e) { clsInventario objConsultaLibro = new clsInventario(); objConsultaLibro.CodigoLibro = txtCodLibro.Text; QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H); QrCode qrCode = new QrCode(); qrEncoder.TryEncode(txtCodLibro.Text, out qrCode); GraphicsRenderer renderer = new GraphicsRenderer(new FixedCodeSize(150, QuietZoneModules.Zero), Brushes.Black, Brushes.White); MemoryStream ms = new MemoryStream();//Crear memoria de conjunto de datos, para almacenar el cod qr renderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, ms); var imageTemporal = new Bitmap(ms); var imagen = new Bitmap(imageTemporal, new Size(new Point(150, 150)));// panelResultado.BackgroundImage = imagen; imagen.Save("QR.png", ImageFormat.Png); btnImprimir.Enabled = true; objConsultaLibro.consultarLibro(GridViewLibros); if (txtCodLibro.Text == "") { objConsultaLibro.cargarInventario(GridViewLibros); } txtCodLibro.Clear(); }
public SaveIamge CreateQR(string helpId) { QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H); QrCode qrCode = new QrCode(); string url = ConfigurationManager.AppSettings["imgMapPath"] + "WxOrder/HelpClass?helpId=" + helpId; //string url = CommonHelper.GetRedirect("WxOrder%2fHelpClass?helpId=" + helpId); qrEncoder.TryEncode(url, out qrCode); GraphicsRenderer renderer = new GraphicsRenderer(new FixedModuleSize(3, QuietZoneModules.Two), Brushes.Black, Brushes.White); string filename = string.Format("{0}.png", helpId); string saveUrl = "/Images/QR/"; string filePath = Path.Combine(HttpContext.Server.MapPath(saveUrl), filename); using (MemoryStream ms = new MemoryStream()) { renderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, ms); Image img = Image.FromStream(ms); img.Save(filePath); } string showImg = CommonHelper.LinkImageUrl(saveUrl); SaveIamge model = new SaveIamge() { filename = filename, showImg = HttpContext.Server.MapPath(saveUrl) }; return(model); }
/// <summary> /// 显示二维码 /// </summary> /// <returns></returns> public void ShowQrCode() { try { string code = Request["code"]; QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H); QrCode qrCode = new QrCode(); qrEncoder.TryEncode(code, out qrCode); GraphicsRenderer renderer = new GraphicsRenderer(new FixedModuleSize(5, QuietZoneModules.Two), Brushes.Black, Brushes.White); using (MemoryStream ms = new MemoryStream()) { renderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, ms); Image img = Image.FromStream(ms); img.Save(Response.OutputStream, ImageFormat.Jpeg); } } catch (Exception ex) { throw; } }
private void exportarDatos_Click(object sender, RoutedEventArgs e) { String textExport = "1111" + "[N]" + Properties.Settings.Default.nombre + "[N]" + "[A]" + Properties.Settings.Default.apellidos + "[A]" + "[AN]" + Properties.Settings.Default.añoNacimiento + "[AN]" + "[P]" + Properties.Settings.Default.peso + "[P]" + "[PRA]" + Properties.Settings.Default.pruebaReflejosAciertos + "[PRA]" + "[PRF]" + Properties.Settings.Default.pruebaReflejosFallos + "[PRF]" + "[D]" + Properties.Settings.Default.Daltonico + "[D]" + "[M]" + Properties.Settings.Default.tipoMovilidad + "[M]"; QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H); QrCode qrCode = new QrCode(); qrEncoder.TryEncode(textExport, out qrCode); GraphicsRenderer renderer = new GraphicsRenderer(new FixedCodeSize(400, QuietZoneModules.Zero), System.Drawing.Brushes.Black, System.Drawing.Brushes.White); MemoryStream ms = new MemoryStream(); renderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, ms); var imageTemporal = new Bitmap(ms); var image = new Bitmap(imageTemporal, new System.Drawing.Size(new System.Drawing.Point(600, 600))); SaveFileDialog sv = new SaveFileDialog(); sv.Filter = "Image PNG (*.png)|*.png"; sv.ShowDialog(); if (!string.IsNullOrEmpty(sv.FileName)) { image.Save(sv.FileName, ImageFormat.Png); } image.Dispose(); }
//生成二维码 private void button2_Click(object sender, EventArgs e) { if (url == "") { label1.Text = "您未选中任何数据!"; } else { string file1 = "./url1.png"; QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M); QrCode qrCode = qrEncoder.Encode(url); //保存成png文件 GraphicsRenderer render = new GraphicsRenderer(new FixedModuleSize(5, QuietZoneModules.Two), Brushes.Black, Brushes.White); FileStream stream = new FileStream(file1, FileMode.Create); using (stream) { render.WriteToStream(qrCode.Matrix, ImageFormat.Png, stream); } stream.Close(); FileStream pFileStream = new FileStream(file1, FileMode.Open, FileAccess.Read); pictureBox1.Image = Image.FromStream(pFileStream); pFileStream.Close(); pFileStream.Dispose(); } }
/// <summary> /// Genera codigo QR /// </summary> /// <param name="link"></param> /// <param name="ruc"></param> /// <param name="tipoCFE"></param> /// <param name="serie"></param> /// <param name="nroCFE"></param> /// <param name="monto"></param> /// <param name="fecha"></param> /// <param name="hash1"></param> /// <returns></returns> //public bool generadorQR(string link, string ruc, string tipoCFE, // string serie, string nroCFE, string monto, string fecha, string hash1) public bool generadorQR(string link, CFE pComprobante, string monto) { bool resultado = false; string rutaQ = RutasCarpetas.RutaCarpetaComprobantes + Mensaje.nomImagenQr; try { DateTime fechaFormateada = DateTime.Parse(pComprobante.FechaComprobante); //hash1 = Uri.EscapeDataString(hash1); //string informacion = link + "?" + ruc + "," + tipoCFE + "," + serie + // "," + nroCFE + "," + monto + "," + fecha + "," + hash1; pComprobante.CodigoSeguridad = Uri.EscapeDataString(pComprobante.CodigoSeguridad); string informacion = link + "?" + pComprobante.RucEmisor + "," + pComprobante.TipoCFEInt + "," + pComprobante.SerieComprobante + "," + pComprobante.NumeroComprobante + "," + monto + "," + fechaFormateada.ToString("dd/MM/yyyy") + "," + pComprobante.CodigoSeguridad; var qrEncoder = new QrEncoder(ErrorCorrectionLevel.H); var qrCode = qrEncoder.Encode(informacion); var renderer = new GraphicsRenderer(new FixedModuleSize (10, QuietZoneModules.Two), Brushes.Black, Brushes.White); using (var stream = new FileStream(rutaQ, FileMode.Create)) renderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, stream); resultado = true; } catch (Exception) { } return(resultado); }
private void frmRepLibros_QR_Load(object sender, EventArgs e) { List <Libros> Lista_L = new List <Libros>(); foreach (Libros item in Lista) { QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H); QrCode qrCode = new QrCode(); qrEncoder.TryEncode(item.Id.ToString(), out qrCode); GraphicsRenderer renderer = new GraphicsRenderer(new FixedCodeSize(400, QuietZoneModules.Zero), Brushes.Black, Brushes.White); MemoryStream ms = new MemoryStream(); renderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, ms); var imageTemporal = new Bitmap(ms); var imagen = new Bitmap(imageTemporal, new Size(new Point(145, 125))); ImageConverter converter = new ImageConverter(); item.Codigo = (byte[])converter.ConvertTo(imagen, typeof(byte[])); Lista_L.Add(item); } reportViewer1.LocalReport.DataSources.Clear(); reportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource("dsLibros_QR", Lista_L)); this.reportViewer1.RefreshReport(); }
private clsResponse QRCode(string content) { clsResponse objResponse = new clsResponse(); try { QrEncoder enc = new QrEncoder(ErrorCorrectionLevel.H); var code = enc.Encode(content); //--------------------------------------------------------------- GraphicsRenderer r = new GraphicsRenderer(new FixedCodeSize(5, QuietZoneModules.Zero), Brushes.Black, Brushes.White); using (MemoryStream ms = new MemoryStream()) { r.WriteToStream(code.Matrix, ImageFormat.Png, ms); byte[] image = ms.ToArray(); objResponse.Base64String = string.Format(@"<img src=""data:image/png;base64,{0}"" alt=""{1}"" />", Convert.ToBase64String(image), content); } //--------------------------------------------------------------- objResponse.StatusCode = 200; } catch (Exception ex) { objResponse.StatusCode = 404; objResponse.StatusText = ex.Message.ToString() + ", Inner : " + ex.InnerException.Message.ToString(); } return(objResponse); }