Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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();
                    }
                }
            }
        }
Example #6
0
        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);
        }
Example #7
0
        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);
            }
        }
Example #8
0
        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());
            });
        }
Example #9
0
        /// <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);
        }
Example #11
0
        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());
        }
Example #12
0
        /// 获取二维码
        /// </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);
        }
Example #13
0
        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;
        }
Example #14
0
        //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");
        }
Example #15
0
 /// <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);
     }
 }
Example #16
0
        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);
        }
Example #17
0
        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);
        }
Example #18
0
        /// <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");
                }
            }
        }
Example #19
0
        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();
            }
        }
Example #20
0
        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();
        }
Example #21
0
        /// <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);
        }
Example #22
0
        /// <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);
            }
        }
Example #23
0
        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();
        }
Example #24
0
        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);
        }
Example #25
0
        /// <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;
            }
        }
Example #26
0
        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();
        }
Example #27
0
        //生成二维码
        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();
            }
        }
Example #28
0
        /// <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);
        }
Example #29
0
        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();
        }
Example #30
0
        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);
        }