public void GenerateQRByQrCodeNet(string content) { QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H); QrCode qrCode = new QrCode(); qrEncoder.TryEncode(content, 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("C:/Img/RRR.png"); } }
//初始化生成QRCode的函数 static void InitQRCode(string qrText) { //新建QrEncoder类的对象 QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M); //新建QrCode类的对象,传入形参 QrCode qrCode = qrEncoder.Encode(qrText); //新建GraphicsRenderer类的对象 GraphicsRenderer render = new GraphicsRenderer(new FixedModuleSize(5, QuietZoneModules.Two), Brushes.Black, Brushes.White); //初始化FileStream类的对象,以便生成二维码文件 using (FileStream stream = new FileStream(FILE_NAME, FileMode.Create)) { //将二维码输出到文件 render.WriteToStream(qrCode.Matrix, ImageFormat.Png, stream); } }
private void button1_Click(object sender, EventArgs e) { // crear un directorio para los codigos string ruta = @"C:\Users\frodo\Desktop\codigosQr"; if (!Directory.Exists(ruta)) { // crear un directorio Directory.CreateDirectory(ruta); } /// generar un codigo QR para los elementos de la caja for (int i = 1; i <= 30; i++) { // 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("Gonzalez" + i.ToString(), 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)); // guardar la imagen ImgenSalida.Save(ruta + "/" + i.ToString() + ".png", System.Drawing.Imaging.ImageFormat.Png); // asignar la imagen al panel panel1.BackgroundImage = ImgenSalida; panel1.Refresh(); System.Threading.Thread.Sleep(500); } }
public void EncodeToPng(string str, string picpath, QRCodeSaveSize saveSize) { QrCode qrCode = _qrEncoder.Encode(str); //保存成png文件 GraphicsRenderer render = new GraphicsRenderer(new FixedModuleSize(Convert.ToInt32(saveSize), QuietZoneModules.Two), Brushes.Black, Brushes.White); using (FileStream stream = new FileStream(picpath, FileMode.OpenOrCreate)) //OpenOrCreate打开新文件默认就是truncate的了,如果再显式指定Truncate反而会报错当文件不存在的时候 { render.WriteToStream(qrCode.Matrix, ImageFormat.Png, stream); } Bitmap bitmap = new Bitmap(165, 165); Graphics g = Graphics.FromImage(bitmap); render.Draw(g, qrCode.Matrix); bitmap.Save("a.bmp"); }
public string CreateQrCode(string source, string pathFile) { QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H); QrCode qrCode = new QrCode(); qrEncoder.TryEncode(source, out qrCode); GraphicsRenderer renderer = new GraphicsRenderer(new FixedCodeSize(8000, QuietZoneModules.Zero), Brushes.Black, Brushes.White); MemoryStream ms = new MemoryStream(); renderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, ms); Bitmap imagenTemporal = new Bitmap(ms); var imagen = new Bitmap(imagenTemporal, new Size(new Point(200, 200))); imagen.Save(pathFile, ImageFormat.Png); return(pathFile); }
/// <summary> /// 生成二维码 /// </summary> /// <param name="content">二维码内容,可以是url、文本信息</param> /// <param name="savePath">保存地址</param> public static void Generate(string content, string savePath) { // 二维码容错率 QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H); QrCode qrCode = new QrCode(); qrEncoder.TryEncode(content, out qrCode); using (MemoryStream ms = new MemoryStream()) { var renderer = new GraphicsRenderer(new FixedModuleSize(18, QuietZoneModules.Two)); renderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, ms); System.Drawing.Image bitmap = new System.Drawing.Bitmap(ms); bitmap.Save(savePath, System.Drawing.Imaging.ImageFormat.Png); } }
private void tsmiSaveAs_Click(object sender, EventArgs e) { using (SaveFileDialog saveFileDialog = new SaveFileDialog()) { saveFileDialog.Filter = @"PNG (*.png)|*.png|JPEG (*.jpg)|*.jpg|Bitmap (*.bmp)|*.bmp|Encapsuled PostScript (*.eps)|*.eps|SVG (*.svg)|*.svg"; saveFileDialog.FileName = txtQRCode.Text; saveFileDialog.DefaultExt = "png"; if (saveFileDialog.ShowDialog() == DialogResult.OK) { string filePath = saveFileDialog.FileName; if (filePath.EndsWith("eps")) { // Initialize the EPS renderer EncapsulatedPostScriptRenderer renderer = new EncapsulatedPostScriptRenderer(new FixedModuleSize(6, QuietZoneModules.Two), // Modules size is 6/72th inch (72 points = 1 inch) new FormColor(Color.Black), new FormColor(Color.White)); BitMatrix matrix = qrMain.GetQrMatrix(); using (FileStream fs = new FileStream(filePath, FileMode.Create)) { renderer.WriteToStream(matrix, fs); } } else if (filePath.EndsWith("svg")) { // Initialize the EPS renderer SVGRenderer renderer = new SVGRenderer(new FixedModuleSize(6, QuietZoneModules.Two), // Modules size is 6/72th inch (72 points = 1 inch) new FormColor(Color.FromArgb(150, 200, 200, 210)), new FormColor(Color.FromArgb(200, 255, 155, 0))); BitMatrix matrix = qrMain.GetQrMatrix(); using (FileStream fs = new FileStream(filePath, FileMode.Create)) { renderer.WriteToStream(matrix, fs, false); } } else { GraphicsRenderer gRender = new GraphicsRenderer(new FixedModuleSize(20, QuietZoneModules.Two)); BitMatrix matrix = qrMain.GetQrMatrix(); using (FileStream fs = new FileStream(filePath, FileMode.Create)) { gRender.WriteToStream(matrix, ImageHelpers.GetImageFormat(filePath), fs); } } } } }
/// <summary> /// Utilizando la librería Gma.QrCodeNet creamos una nueva imagen en PNG /// que será un código QR con el texto que se le de /// </summary> /// <param name="guid">Texto que tendrá el código QR</param> /// <param name="basePath">Base path</param> /// <returns>Regresa el URL en el que se podrá encontrar la imagen recien /// guardada</returns> public static string CreateQr(string guid, string basePath) { // Se crea un Stream que tendrá la imagen en JPG utilizando QrCodeNet QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M); QrCode qrCode = qrEncoder.Encode(guid); GraphicsRenderer renderer = new GraphicsRenderer(new FixedModuleSize(20, QuietZoneModules.Two), Brushes.Black, Brushes.White); MemoryStream stream = new MemoryStream(); renderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, stream, new Point(100, 100)); // Se crea un path donde se guardará el archivo en el disco duro string filePath = Path.Combine(basePath, String.Format("Storage/Qrs/{0}.png", guid)); PhotoData.SaveQrImageFile(filePath, stream.ToArray()); stream.Close(); // Construimos el URL en el que el navegador podrá descargar la imagen return(Path.Combine(ConfigurationManager.AppSettings["PhotoPath"], String.Format("Storage/Qrs/{0}.png", guid))); }
/// <summary> /// 二维码二进制流 /// </summary> /// <param name="str"></param> /// <returns></returns> public byte[] QrCodeCreate(string str) { QrCode qrcode = new QrEncoder().Encode(str); GraphicsRenderer gRenderer = new GraphicsRenderer(new FixedModuleSize(6, QuietZoneModules.Two), Brushes.Black, Brushes.White); MemoryStream ms = new MemoryStream(); gRenderer.WriteToStream(qrcode.Matrix, ImageFormat.Png, ms); Image image = Image.FromStream(ms); MemoryStream ms1 = new MemoryStream(); image.Save(ms1, ImageFormat.Png); byte[] arr = new byte[ms1.Length]; ms1.Position = 0L; ms1.Read(arr, 0, (int)ms1.Length); ms1.Close(); return(arr); }
public void GeneraQR(string fecha, string cuit, string ptoVtaNComp, string total, string tipoComp) { string fechaJ = fecha.Substring(6) + "-" + fecha.Substring(3, 2) + "-" + fecha.Substring(0, 2); string cuitJ = cuit.Replace("-", string.Empty); string ptoVta = ptoVtaNComp.Substring(0, 4); string nroComp = ptoVtaNComp.Substring(5); string tipoCompJ = string.Empty; string ver = "1"; total = total.Replace(",", "."); if (tipoComp == "A") { tipoCompJ = "081"; } else { tipoCompJ = "082"; } string moneda = "PES"; string ctz = "1"; string tipoCodAut = "E"; string codAut = "70417054367476"; string jsonS = "ver:" + ver + ",fecha:" + fechaJ + ",cuit:" + cuitJ + ",ptoVta:" + ptoVta + ",tipoCmp:" + tipoCompJ + ",nroCmp:" + nroComp + ",importe:" + total + ",moneda:" + moneda + ",ctz:" + ctz + ",tipoCodAut:" + tipoCodAut + ",codAut:" + codAut; string json64 = Convert.ToBase64String(Encoding.UTF8.GetBytes(jsonS)); string url = "https://www.afip.gob.ar/fe/qr/?p=" + json64; QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H); QrCode qrCode = new QrCode(); qrEncoder.TryEncode(url, 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(200, 200))); string filePath = Path.Combine(Application.StartupPath + "\\Reportes", "QR.png"); Image ImagenGrb = imagen; ImagenGrb.Save(filePath); }
/// <summary> /// 生成二维码 /// </summary> /// <param name="content">内容</param> /// <param name="moduleSize">二维码的大小</param> /// <param name="filePath">为存放的图片路径</param> /// <returns>输出流</returns> public static MemoryStream GetQRCode(string content, int moduleSize = 9) { var encoder = new QrEncoder(ErrorCorrectionLevel.M); QrCode qrCode = encoder.Encode(content); GraphicsRenderer render = new GraphicsRenderer(new FixedModuleSize(moduleSize, QuietZoneModules.Two), Brushes.Black, Brushes.White); MemoryStream memoryStream = new MemoryStream(); render.WriteToStream(qrCode.Matrix, ImageFormat.Jpeg, memoryStream); return(memoryStream); //生成图片的代码 //DrawingSize dSize = render.SizeCalculator.GetSize(qrCode.Matrix.Width); //Bitmap map = new Bitmap(dSize.CodeWidth, dSize.CodeWidth); //Graphics g = Graphics.FromImage(map); //render.Draw(g, qrCode.Matrix); //map.Save(fileName, ImageFormat.Jpeg);//fileName为存放的图片路径 }
/// <summary> /// 生成二维码的方法 /// </summary> /// <param name="str">二维码包含的内容</param> /// <param name="moduleSize">二维码大小</param> /// <param name="no">编号</param> private void createQrCode(string content, int no, int moduleSize = 9) { //QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H); //QrCode qrCode = new QrCode(); //qrEncoder.TryEncode(str, out qrCode); string filename = DateTime.Now.ToString("d"); filename = filename.Replace("/", ""); filename = filename.Replace(":", ""); filename = filename.Replace("-", ""); filename = filename.Replace(".", ""); filename = filename.Replace(" ", ""); string filepath = System.AppDomain.CurrentDomain.BaseDirectory + filename; if (!Directory.Exists(filepath)) { Directory.CreateDirectory(filepath); } string fileName = filepath + "\\" + no + ".png"; //Renderer renderer = new Renderer(5, Brushes.Black, Brushes.White); //renderer.CreateImageFile(qrCode.Matrix, @filename, ImageFormat.Png); //ErrorCorrectionLevel 误差校正水平 //QuietZoneModules 空白区域 var encoder = new QrEncoder(ErrorCorrectionLevel.M); QrCode qrCode = encoder.Encode(content); GraphicsRenderer render = new GraphicsRenderer(new FixedModuleSize(moduleSize, QuietZoneModules.Two), Brushes.Black, Brushes.White); //MemoryStream memoryStream = new MemoryStream(); //render.WriteToStream(qrCode.Matrix, ImageFormat.Jpeg, memoryStream); //return memoryStream; //生成图片的代码 DrawingSize dSize = render.SizeCalculator.GetSize(qrCode.Matrix.Width); Bitmap map = new Bitmap(dSize.CodeWidth, dSize.CodeWidth); Graphics g = Graphics.FromImage(map); render.Draw(g, qrCode.Matrix); map.Save(fileName, ImageFormat.Png);//fileName为存放的图片路径 }
protected override void Initialize() { SettingsFile settings = DataFolder.GetSettingsFile(); GraphicsRenderer.Initialize(GraphicsDevice, _graphics); GraphicsRenderer.ChangeResolution(settings.ResolutionWidth, settings.ResolutionHeight); GraphicsRenderer.SetFullscreen(settings.IsFullscreen); Camera = new Camera(GraphicsDevice.Viewport); InitializeUi(); Session.Initialize(); GameWorld.Initialize(); LoadingScreen.Initialize(); base.Initialize(); }
private bool GenCode(string content, out MemoryStream ms) { ms = new MemoryStream(); ErrorCorrectionLevel ecl = ErrorCorrectionLevel.M;//误差水平 QuietZoneModules qzm = QuietZoneModules.Two; int moduleSize = 12; QrEncoder encoder = new QrEncoder(ecl); QrCode qr; if (encoder.TryEncode(content, out qr))//对内容进行编码,并保存生成的矩阵 { var render = new GraphicsRenderer(new FixedModuleSize(moduleSize, qzm)); render.WriteToStream(qr.Matrix, ImageFormat.Jpeg, ms); return(true); } return(false); }
private void btnShowQRCode_Click(object sender, EventArgs e) { var qrGenerator = new QrEncoder(); var qrCode = qrGenerator.Encode(_password); var gRenderer = new GraphicsRenderer( new FixedModuleSize(6, QuietZoneModules.Two)); using (var ms = new MemoryStream()) { gRenderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, ms); using (pbQrCode.Image) { pbQrCode.Image = new Bitmap(ms); } } }
public static Image GenerateQRCode(string content, int size) { QrEncoder encoder = new QrEncoder(ErrorCorrectionLevel.H); QrCode qrCode; encoder.TryEncode(content, out qrCode); GraphicsRenderer gRenderer = new GraphicsRenderer(new FixedModuleSize(4, QuietZoneModules.Two), Brushes.Black, Brushes.White); MemoryStream ms = new MemoryStream(); gRenderer.WriteToStream(qrCode.Matrix, ImageFormat.Bmp, ms); var imageTemp = new Bitmap(ms); return(new Bitmap(imageTemp, new Size(new Point(size, size)))); }
private void btnQR_Click(object sender, EventArgs e) { QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H); QrCode qrCode = new QrCode(); string valorQR = "Hola profe me gustaria que me sacara un 10"; qrEncoder.TryEncode(valorQR, 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(199, 199))); imgQR.BackgroundImage = imagen; imagen.Save("qr.png", ImageFormat.Png); }
private void btnQRHorario_Click(object sender, EventArgs e) { QrEncoder codigo = new QrEncoder(ErrorCorrectionLevel.H); QrCode cod; GraphicsRenderer renderer; FileStream stream; foreach (var iter in lstDatos.Items) { cod = codigo.Encode(iter.ToString()); renderer = new GraphicsRenderer(new FixedModuleSize(5, QuietZoneModules.Two), Brushes.Black, Brushes.White); using (stream = new FileStream(@"C:\Users\Daniel\Pictures\CodigosQR\codigo.png", FileMode.OpenOrCreate)) { renderer.WriteToStream(cod.Matrix, ImageFormat.Png, stream); } } }
/// <summary> /// 生成二维码 /// </summary> /// <param name="text"></param> /// <returns></returns> public static MemoryStream GetQrCodeImage(string text) { var rtnMemoryStream = new MemoryStream(); var encoder = new QrEncoder(ErrorCorrectionLevel.L); QrCode qr = null; if (!encoder.TryEncode(text, out qr)) { throw new Exception("生成二维码失败"); } var render = new GraphicsRenderer(new FixedModuleSize(8, QuietZoneModules.Zero)); render.WriteToStream(qr.Matrix, ImageFormat.Png, rtnMemoryStream); return(rtnMemoryStream); }
/* * public static void printList(LTL_LotteryList pNumberList) * { * // Configurar impresión para Ticket de Venta * TicketPrinter ticketPrinter = new TicketPrinter(); * SaleTicket saleTicket = new SaleTicket(); * saleTicket.companyName = UtilityService.getCompanyName(); * // Obtener datos del punto de venta * LPS_LotteryPointSale pointSale = UtilityService.getPointSale(); * saleTicket.pointSaleName = pointSale.LPS_DisplayName; * // Obtener datos del sorteo * LotteryDrawRepository drawRepo = new LotteryDrawRepository(); * LTD_LotteryDraw drawObject = drawRepo.getById(pNumberList.LTD_LotteryDraw); * saleTicket.drawDate = drawObject.LTD_CreateDate; * // Obtener datos de tipo de sorteo * LotteryDrawTypeRepository drawTypeRepo = new LotteryDrawTypeRepository(); * LDT_LotteryDrawType drawType = drawTypeRepo.getById(drawObject.LDT_LotteryDrawType); * saleTicket.drawTypeCode = drawType.LDT_Code; * // Llenar datos del número de lista * saleTicket.createDate = DateTime.Now; * saleTicket.ticketId = pNumberList.LTL_Id; * saleTicket.globalId = pointSale.LPS_Id + "" + saleTicket.ticketId; * saleTicket.customerName = pNumberList.LTL_CustomerName; * // Obtener detalle de la lista procesada * LotteryListRepository listRepo = new LotteryListRepository(); * saleTicket.listNumberDetail = listRepo.getTupleListDetail(pNumberList.LTL_Id); * ticketPrinter.saleTicket = saleTicket; * // Obtener nombre de impresora y enviar impresión * string printerName = UtilityService.getTicketPrinterName(); * ticketPrinter.printLotterySaleTicket(printerName); * } */ /* * public static void printPrizeTicket(LTD_LotteryDraw pDraw, string[] pWinningNumberArray) * { * // Configurar impresión para Ticket de Venta * TicketPrinter ticketPrinter = new TicketPrinter(); * PrizeTicket prizeTicket = new PrizeTicket(); * prizeTicket.companyName = UtilityService.getCompanyName(); * prizeTicket.title = "NÚMEROS PREMIADOS"; * // Obtener datos del punto de venta * LPS_LotteryPointSale pointSale = UtilityService.getPointSale(); * prizeTicket.pointSaleName = pointSale.LPS_DisplayName; * prizeTicket.drawDate = pDraw.LTD_CreateDate; * // Obtener datos de tipo de sorteo * LotteryDrawTypeRepository drawTypeRepo = new LotteryDrawTypeRepository(); * LDT_LotteryDrawType drawType = drawTypeRepo.getById(pDraw.LDT_LotteryDrawType); * prizeTicket.drawTypeCode = drawType.LDT_Code; * // Llenar datos del número de lista * prizeTicket.createDate = DateTime.Now; * // Obtener listado de información de ganadores * LotteryListRepository lotteryListRepository = new LotteryListRepository(); * prizeTicket.listWinningInfo = lotteryListRepository.getWinningNumbersList(pDraw, pWinningNumberArray); * prizeTicket.winnerNumbers = pWinningNumberArray; * ticketPrinter.prizeTicket = prizeTicket; * // Obtener nombre de impresora y enviar impresión * string printerName = UtilityService.getTicketPrinterName(); * ticketPrinter.printPrizeTicket(printerName); * } */ public static Bitmap buildQRCode(string pCodeText, int pBitmapWidth, int pBitmapHeight) { QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H); QrCode qrCode = new QrCode(); qrEncoder.TryEncode(pCodeText, 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); Bitmap imageTemporal = new Bitmap(ms); Bitmap imagen = new Bitmap(imageTemporal, new Size(new Point(pBitmapWidth, pBitmapHeight))); return(imagen); }
/// <summary> /// 生成二维码 /// </summary> /// <param name="strContent"></param> /// <returns></returns> public MemoryStream GetQRCode(string strContent) { MemoryStream ms = new MemoryStream(); 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); } return(ms); }
public int qr() { QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H); QrCode qrCode = new QrCode(); String rambon = (new Random().Next(1, 1000)).ToString(); qrEncoder.TryEncode(rambon, 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); return(Convert.ToInt32(qrCode.GetHashCode())); }
//生成带背景图的二维码图片 public static byte[] QRCodeHasBackImg(string text, int size, bool contentImg, string fg = "#000000", string bg = "#FFFFFF") { byte[] result = null; using (MemoryStream ms = new MemoryStream()) { QrEncoder encoder = new QrEncoder(ErrorCorrectionLevel.H); QrCode qr; if (encoder.TryEncode(text, out qr)) { //背景图存在 则生成带背景图的; if (File.Exists(HttpContext.Current.Server.MapPath("~/Images/poster2.jpg")) && contentImg) { Image img = Image.FromFile(HttpContext.Current.Server.MapPath("~/Images/poster2.jpg")); Graphics g = Graphics.FromImage(img); g.DrawImage(img, 0, 0, 400, 600); Bitmap image = null; using (MemoryStream msQR = new MemoryStream()) { GraphicsRenderer renderer = new GraphicsRenderer(new FixedCodeSize(400, QuietZoneModules.Zero), new SolidBrush(ColorTranslator.FromHtml(fg)), new SolidBrush(ColorTranslator.FromHtml(bg))); renderer.WriteToStream(qr.Matrix, ImageFormat.Png, msQR); var imageTemp = new Bitmap(msQR); image = new Bitmap(imageTemp, new Size(new Point(size, size))); } g.DrawImage(image, 245, 74, image.Width, image.Height); GC.Collect(); img.Save(ms, ImageFormat.Jpeg); result = ms.GetBuffer(); } else { //若不存在 则直接生成二维码 GraphicsRenderer renderer = new GraphicsRenderer(new FixedCodeSize(400, QuietZoneModules.Zero), new SolidBrush(ColorTranslator.FromHtml(fg)), new SolidBrush(ColorTranslator.FromHtml(bg))); renderer.WriteToStream(qr.Matrix, ImageFormat.Png, ms); var imageTemp = new Bitmap(ms); var image = new Bitmap(imageTemp, new Size(new Point(size, size))); using (MemoryStream ms2 = new MemoryStream()) { image.Save(ms2, ImageFormat.Jpeg); result = ms2.GetBuffer(); } } } } return(result); }
public Image Render(MemoryStream ms) { //Image returnImage = Image.FromStream(ms, true);//Exception occurs here //try //{ var render = new GraphicsRenderer(new FixedModuleSize(2, QuietZoneModules.Two)); render.WriteToStream(Matrix, ImageFormat.Png, ms); //ContentType = "image/png"; var returnImage = Image.FromStream(ms, true); //Exception occurs here //} //catch(Exception ex) //{ //var err = ex.Message; //} return(returnImage); }
public static MemoryStream GenQrCode(string content, int size) { QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.L); QrCode qrCode; qrEncoder.TryEncode(content, out qrCode); GraphicsRenderer render = new GraphicsRenderer(new FixedCodeSize(size, QuietZoneModules.Zero), Brushes.Black, Brushes.Transparent); MemoryStream ms = new MemoryStream(); Bitmap bitmap = new Bitmap(size, size); Graphics graphics = Graphics.FromImage(bitmap); graphics.Clear(System.Drawing.Color.White); render.Draw(graphics, qrCode.Matrix); bitmap.Save(ms, ImageFormat.Jpeg); return(ms); }
private void SaveCodeFile(string content, int col_n, string path) { QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H); QrCode code = new QrCode(); qrEncoder.TryEncode(content, out code); const int modelSizeInPixels = 4; GraphicsRenderer render = new GraphicsRenderer(new FixedModuleSize(modelSizeInPixels, QuietZoneModules.Two) , Brushes.Black, Brushes.White); //在目标文件夹创建一个空的.bmp文件 string filename = path + "/" + Program.getString(col_n) + Program.GetContSplit(content) + ".bmp"; using (FileStream fs = new FileStream(filename, FileMode.OpenOrCreate, FileAccess.ReadWrite)) { render.WriteToStream(code.Matrix, ImageFormat.Png, fs); } }
protected override void InitDict() { base.InitDict(); if (cu.type == 1) { Context.Response.Redirect("/wx/user/index.html"); //仅商户有邀请二维码 } var qr = new QrEncoder(); var cd = qr.Encode("http://" + cfg.domain + "/wx/invite-" + cu.id + "-" + cu.no + ".html"); var rd = new GraphicsRenderer(new FixedModuleSize(15, QuietZoneModules.Two)); using (var ms = new MemoryStream()) { rd.WriteToStream(cd.Matrix, ImageFormat.Jpeg, ms); dict.Add("qr", Convert.ToBase64String(ms.ToArray())); } }
public static string GenerateQRCode(string link) { try { QrEncoder qr_encoder = new QrEncoder(); QrCode code = null; qr_encoder.TryEncode(link, out code); GraphicsRenderer renderer = new GraphicsRenderer(new FixedCodeSize(350, QuietZoneModules.Zero), Brushes.Black, Brushes.White); MemoryStream ms = new MemoryStream(); renderer.WriteToStream(code.Matrix, ImageFormat.Png, ms); return(Convert.ToBase64String(ms.GetBuffer())); } catch (Exception ex) { ex.Message.ToString(); return(null); } }
protected void SaveQrCode(string text, string filename) {//用于保存二维码图像的函数 QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M); //设置二维码错误修正率 QrCode qrCode = qrEncoder.Encode(text); //使用text参数进行编码 GraphicsRenderer renderer = new GraphicsRenderer(new FixedModuleSize(5, QuietZoneModules.Two), Brushes.Black, Brushes.White); //实例化Renderer对象, string fileurl = "C://Users//Top//Pictures//Saved Pictures//" + filename + ".png"; using (FileStream stream = new FileStream(fileurl, FileMode.Create)) { renderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, stream); //将二维码矩阵写入文件流,设置图片格式为png } Console.WriteLine("Your QrCode pictures are stored in " + fileurl); }
//生成QRCode的函数 public void DrawQRCode(string qrText) { //pictureBox1重新生成 pictureBox1.Refresh(); //新建QrEncoder类的对象 QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M); //新建QrCode类的对象,传入形参 QrCode qrCode = qrEncoder.Encode(qrText); //新建GraphicsRenderer类的对象 GraphicsRenderer render = new GraphicsRenderer(new FixedModuleSize(5, QuietZoneModules.Two), Brushes.Black, Brushes.White); //确定绘图初始点 Point padding = new Point(0, 0); //实例化Graphics类 Graphics graphics = pictureBox1.CreateGraphics(); //将graphics对象导入pictureBox1 render.Draw(graphics, qrCode.Matrix, padding); }