Пример #1
5
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                var content = WebUtility.GetRequestStr("s", "");
                if (!content.StartsWith("http"))
                    content = string.Format("http://{0}:{1}{2}", Request.Url.Host, Request.Url.Port, HttpUtility.UrlDecode(content));

                QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H);
                QrCode qrCode = new QrCode();
                if (qrEncoder.TryEncode(content, out qrCode))
                {
                    var fCodeSize = new FixedCodeSize(500, QuietZoneModules.Two);
                    fCodeSize.QuietZoneModules = QuietZoneModules.Four;
                    GraphicsRenderer renderer = new GraphicsRenderer(fCodeSize, Brushes.Black, Brushes.White);
                    MemoryStream ms = new MemoryStream();
                    renderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, ms);

                    Response.Cache.SetNoStore();
                    Response.ClearContent();
                    Response.ContentType = "image/Png";
                    Response.BinaryWrite(ms.ToArray());
                }
            }
        }
Пример #2
2
        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;
            


                 
        }
Пример #3
0
        //[OutputCache(Duration = 60 * 60 * 24, Location = System.Web.UI.OutputCacheLocation.Downstream)]
        public async Task<ActionResult> QR(string slug, int width=8)
        {
            QrEncoder encoder = new QrEncoder(ErrorCorrectionLevel.L);
            
            using (var db = new SportDataContext())
            {
                var ev = await EventService.GetEvent(slug, db);
                if (ev == null)
                    return HttpNotFound();

                var url = "http://afspb.org.ru/timeline/";
                if(ev.Season!=2014) 
                    url += ev.Season + "/";
                url += ev.Slug + "/Guide";
                var qrCode = encoder.Encode(url);

                GraphicsRenderer dRenderer = new GraphicsRenderer(
                        new FixedModuleSize(width, QuietZoneModules.Two),
                        Brushes.Black, Brushes.White);

                using(var ms = new MemoryStream())
                {
                    dRenderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, ms);
                    return File(ms.ToArray(), "image/png");
                }
            }

            
        }
Пример #4
0
        /// <summary>
        /// 生成二维码
        /// </summary>
        /// <param name="content">内容</param>
        /// <param name="filePath">保存文件路径</param>
        /// <param name="errorMessage">错误异常消息</param>
        /// <returns></returns>
        public static bool Generate(string content, string filePath, out string errorMessage)
        {
            errorMessage = string.Empty;
            var qrEncoder = new QrEncoder(ErrorCorrectionLevel.H);
            try
            {
                QrCode qrCode;
                qrEncoder.TryEncode(content, out qrCode);
                var renderer = new Renderer(5, Brushes.Black, Brushes.White);

                if (!Directory.Exists(Path.GetDirectoryName(filePath)))
                    Directory.CreateDirectory(Path.GetDirectoryName(filePath));
                else
                {
                    FileInfo fileInfo = new FileInfo(filePath);
                    if (fileInfo.Exists)
                        fileInfo.Delete();
                }

                renderer.CreateImageFile(qrCode.Matrix, filePath, ImageFormat.Png);
                return true;
            }
            catch (Exception ex)
            {
                errorMessage = ex.Message;
                return false;
            }
        }
Пример #5
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());
        }
Пример #6
0
        protected void GenerateQRCode()
        {
            if (_borderQRCode == null || _qrCodeRect == null)
                return;

            if (string.IsNullOrWhiteSpace(ItemURL))
            {
                _borderQRCode.Visibility = Visibility.Collapsed;
                return;
            }

            try
            {
                QrEncoder encoder = new QrEncoder(ErrorCorrectionLevel.M);
                QrCode qrCode;
                if (encoder.TryEncode(ItemURL, out qrCode))
                {
                    DrawingBrushRenderer dRenderer = new DrawingBrushRenderer(new FixedModuleSize(2, QuietZoneModules.Two), System.Windows.Media.Brushes.Black, System.Windows.Media.Brushes.White);
                    System.Windows.Media.DrawingBrush dBrush = dRenderer.DrawBrush(qrCode.Matrix);
                    _qrCodeRect.Fill = dBrush;
                    _borderQRCode.Visibility = System.Windows.Visibility.Visible;
                }
                else
                {
                    _borderQRCode.Visibility = System.Windows.Visibility.Collapsed;
                }
            }
            catch
            {
                _borderQRCode.Visibility = System.Windows.Visibility.Collapsed;
            }
        }
        public HttpResponseMessage QrCode(string id)
        {
            if (id == null) throw new ArgumentNullException("id");

            if (!ValidUserIdRegex.IsMatch(id))
            {
                return new HttpResponseMessage(HttpStatusCode.BadRequest);
            }

            const int MODULE_SIZE = 12;
            GraphicsRenderer renderer =
                new GraphicsRenderer(new FixedModuleSize(MODULE_SIZE, QuietZoneModules.Zero));

            QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.L);

            string content = id;
            QrCode qrCode = qrEncoder.Encode(content);

            MemoryStream rendered = new MemoryStream();
            renderer.WriteToStream(qrCode.Matrix, ImageFormat.Gif, rendered);

            HttpResponseMessage responseMessage = new HttpResponseMessage(HttpStatusCode.OK);
            responseMessage.Content = new ByteArrayContent(rendered.ToArray());
            responseMessage.Content.Headers.ContentType = new MediaTypeHeaderValue("image/gif");
            return responseMessage;
        }
Пример #8
0
 public void generar(Compra compra)
 {
     QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H);
     QrCode qrCode = qrEncoder.Encode(compra.Id.ToString());
     Renderer renderer = new Renderer(5, Brushes.Black, Brushes.White);
     renderer.CreateImageFile(qrCode.Matrix, "c:/Qr" + compra.Id.ToString() + ".png", ImageFormat.Png);
 }
        /// <summary>
        /// Encode the content with desired parameters and save the generated Matrix
        /// </summary>
        /// <returns>True if the encoding succeeded, false if the content is empty or too large to fit in a QR code</returns>
        public bool TryEncode()
        {
            var encoder = new QrEncoder(Ecl);
            QrCode qr;
            if (!encoder.TryEncode(Content, out qr))
                return false;

            Matrix = qr.Matrix;
            return true;
        }
Пример #10
0
    public Image DrawQRCode(int qrImageSize, ImageFormat imgFormat)
    {
      QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M);
      QrCode qrCode = qrEncoder.Encode(this.BarCodeValue);

      GraphicsRenderer renderer = new GraphicsRenderer(new FixedCodeSize(qrImageSize, QuietZoneModules.Two), Brushes.Black, Brushes.White);
      MemoryStream stream = new MemoryStream();
      renderer.WriteToStream(qrCode.Matrix, imgFormat, stream);
      return Image.FromStream(stream);
    }
Пример #11
0
        private void button1_Click(object sender, EventArgs e)
        {
            SaveFileDialog saveFileDialog = new SaveFileDialog();
            saveFileDialog.Filter = @"PNG (*.png)|*.png|Bitmap (*.bmp)|*.bmp|Encapsuled PostScript (*.eps)|*.eps|SVG (*.svg)|*.svg";
            saveFileDialog.FileName = Path.GetFileName(GetFileNameProposal());
            saveFileDialog.DefaultExt = "png";

            if (saveFileDialog.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            QrEncoder encoder = new QrEncoder();
            QrCode qrCode;
            byte[] byteArray = new byte[] { 34, 54, 90, 200 };
            if (!encoder.TryEncode(byteArray, out qrCode))
                return;
            if (saveFileDialog.FileName.EndsWith("eps"))
            {
                BitMatrix matrix = qrCode.Matrix;

                // Initialize the EPS renderer
                var 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));

                using (var file = File.Open(saveFileDialog.FileName, FileMode.CreateNew))
                {
                    renderer.WriteToStream(matrix, file);
                }
            }
            else if (saveFileDialog.FileName.EndsWith("svg"))
            {
                BitMatrix matrix = qrCode.Matrix;

                // Initialize the EPS renderer
                var 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)));

                using (var file = File.OpenWrite(saveFileDialog.FileName))
                {
                    renderer.WriteToStream(matrix, file, false);
                }
            }
            else
            {
                GraphicsRenderer gRender = new GraphicsRenderer(new FixedModuleSize(30, QuietZoneModules.Four));
                BitMatrix matrix = qrCode.Matrix;
                using (FileStream stream = new FileStream(saveFileDialog.FileName, FileMode.Create))
                {
                    gRender.WriteToStream(matrix, ImageFormat.Png, stream, new Point(600, 600));
                }
            }
        }
Пример #12
0
        public static void RunSample3()
        {
            QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H);
            QrCode qrCode = qrEncoder.Encode("Hello World!");

            GraphicsRenderer renderer = new GraphicsRenderer(new FixedModuleSize(5, QuietZoneModules.Two), Brushes.Black, Brushes.White);
            using (FileStream stream = new FileStream(@"c:\temp\HelloWorld.png", FileMode.Create))
            {
                renderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, stream);
            }
        }
Пример #13
0
     public ActionResult QR(string id)
     {
         QrEncoder encoder = new QrEncoder(ErrorCorrectionLevel.L);
         QrCode qrCode;
         encoder.TryEncode("http://mobiledev.scrzjh.com:9999/l?id=" + id.ToString(), out qrCode);
         MemoryStream ms = new MemoryStream();
         var render = new GraphicsRenderer(new FixedModuleSize(8, QuietZoneModules.Two));
         render.WriteToStream(qrCode.Matrix, ImageFormat.Png, ms);
 
         return File(ms.GetBuffer(), "image/png");
     }
Пример #14
0
        public string generarQR(string codigo)
        {
            var qrEncoder = new QrEncoder(ErrorCorrectionLevel.H);
            var qrCode = qrEncoder.Encode(codigo);

            var renderer = new GraphicsRenderer(new FixedModuleSize(5, QuietZoneModules.Two), Brushes.Black, Brushes.White);
            string path = AppDomain.CurrentDomain.BaseDirectory + "tmp\\"+ codigo +"QR.png";
            using (var stream = new FileStream(path, FileMode.Create))
                renderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, stream);
            return codigo+"QR.png";
        }
Пример #15
0
        public Image GenerateQRCode(QRCodeParameters param)
        {
            if (param == null) throw new ArgumentNullException();

            QrEncoder encoder = new QrEncoder(ErrorCorrectionLevel.L);
            QrCode qrCode = encoder.Encode(param.Text);

            GraphicsRenderer gRenderer = new GraphicsRenderer(new FixedModuleSize(param.Size, QuietZoneModules.Two), Brushes.Black, Brushes.White);
            MemoryStream ms = new MemoryStream();
            gRenderer.WriteToStream(qrCode.Matrix, param.ImageFormat, ms);
            return Image.FromStream(ms);
        }
        public FileContentResult Show(Guid id)
        {
            QrEncoder enc = new QrEncoder();
            QrCode code = enc.Encode(GetUrl());

            Renderer renderer = new Renderer(5);
            Image image = new Bitmap(256,256);
            using (Graphics graphics = Graphics.FromImage(image))
                renderer.Draw(graphics, code.Matrix);

            byte[] imageByte = imageToByteArray(image);
            string contentType = "image/png";

            return File(imageByte, contentType);
        }
Пример #17
0
        public static void GenerateQR(string encodeString, string venueName, string branding)
        {
            //Ask the user for the path where the QR pdf file will be stored.  If canceled, return and do nothing.
            string filePath = GetSaveFilePath();
            if (filePath.Equals(""))
                return;

            QrEncoder encoder = new QrEncoder(ErrorCorrectionLevel.H);
            QrCode code = encoder.Encode(encodeString);

            Renderer renderer = new Renderer(25, System.Drawing.Brushes.Black, System.Drawing.Brushes.White);
            renderer.CreateImageFile(code.Matrix, IMAGE_NAME, ImageFormat.Png);

            PrintToPDF(venueName, branding, filePath);
        }
Пример #18
0
        public recieve_litecoin()
        {
            InitializeComponent();

            ILitecoinService litecoinService = new LitecoinService();
            string           a = litecoinService.GetNewAddress();

            address_textBox.Text = a;

            Gma.QrCodeNet.Encoding.QrEncoder Encoder = new Gma.QrCodeNet.Encoding.QrEncoder(Gma.QrCodeNet.Encoding.ErrorCorrectionLevel.H);
            Gma.QrCodeNet.Encoding.QrCode    Code    = Encoder.Encode(a);
            Bitmap TempBMP = new Bitmap(Code.Matrix.Width, Code.Matrix.Height);

            for (int X = 0; X <= (Code.Matrix.Width) - 1; X++)
            {
                for (int Y = 0; Y <= (Code.Matrix.Height) - 1; Y++)
                {
                    if (Code.Matrix.InternalArray[X, Y])
                    {
                        TempBMP.SetPixel(X, Y, System.Drawing.Color.Black);
                    }
                    else
                    {
                        TempBMP.SetPixel(X, Y, System.Drawing.Color.White);
                    }
                }
            }

            //TempBMP.Size abc = new System.Drawing.Size(120,120);

            //Console.Write(TempBMP);
            //ictureBox.Image.Size =new  Size(600, 700);
            //empBMP.Size = new Size(TempBMP.Height,TempBMP.Width);
            pictureBox.Size = new Size(100, 75);
            // pictureBox.Image = TempBMP;

            var imageTemp = new Bitmap(TempBMP);

            var image = new Bitmap(imageTemp, new System.Drawing.Size(new System.Drawing.Point(100, 75)));

            //image.Save("file.bmp", ImageFormat.Bmp);

            pictureBox.Image = image;



            //pictureBox.BorderStyle = BorderStyle.FixedSingle;
        }
Пример #19
0
        /// <summary>
        /// Generates an img tag with a data uri encoded image of the QR code from the content given.
        /// </summary>
        /// <param name="html"></param>
        /// <param name="content"></param>
        /// <returns></returns>
        public static IHtmlString QRCode(this HtmlHelper html, string content)
        {
            QrEncoder enc = new QrEncoder(ErrorCorrectionLevel.H);
            var code = enc.Encode(content);

            GraphicsRenderer r = new GraphicsRenderer(new FixedModuleSize(5, QuietZoneModules.Two), Brushes.Black, Brushes.White);

            using (MemoryStream ms = new MemoryStream())
            {
                r.WriteToStream(code.Matrix, ImageFormat.Png, ms);

                byte[] image = ms.ToArray();
                //otpauth://totp/MY_APP_LABEL?secret={0}
                return html.Raw(string.Format(@"<img src=""data:image/png;base64,{0}"" alt=""{1}"" />", Convert.ToBase64String(image), content));
            }
        }
Пример #20
0
        /// <summary>
        /// Generates an img tag with a data uri encoded image of the QR code from the content given.
        /// </summary>
        /// <param name="html"></param>
        /// <param name="content"></param>
        /// <returns></returns>
        public static IHtmlString QRCode(this HtmlHelper html, string content)
        {
            QrEncoder enc = new QrEncoder(ErrorCorrectionLevel.H);
            var code = enc.Encode(content);

            Renderer r = new Renderer(5, Brushes.Black, Brushes.White);

            using (MemoryStream ms = new MemoryStream())
            {
                r.WriteToStream(code.Matrix, ms, ImageFormat.Png);

                byte[] image = ms.ToArray();

                return html.Raw(string.Format(@"<img src=""data:image/png;base64,{0}"" alt=""{1}"" />", Convert.ToBase64String(image), content));
            }
        }
Пример #21
0
 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;
 }
        /// <summary>
        /// Qr Code generation
        /// </summary>
        /// <param name="barcodeText"></param>
        /// <returns></returns>
        public ActionResult BarcodeImage(String barcodeText)
        {
            // generating a barcode here. Code is taken from QrCode.Net library
            QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H);
            QrCode qrCode = new QrCode();
            qrEncoder.TryEncode(barcodeText, out qrCode);
            GraphicsRenderer renderer = new GraphicsRenderer(new FixedModuleSize(4, QuietZoneModules.Four), Brushes.Black, Brushes.White);
            Stream memoryStream = new MemoryStream();
            renderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, memoryStream);

            // very important to reset memory stream to a starting position, otherwise you would get 0 bytes returned
            memoryStream.Position = 0;
            var resultStream = new FileStreamResult(memoryStream, "image/png");
            resultStream.FileDownloadName = String.Format("{0}.png", barcodeText);
            return resultStream;
        }
Пример #23
0
        public ActionResult BarcodeImage(String barcodeText)
        {
            QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H);
            QrCode qrCode = new QrCode();
            qrEncoder.TryEncode(barcodeText, out qrCode);
            GraphicsRenderer 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");
            resultStream.FileDownloadName = String.Format("{0}.png", barcodeText);

            return resultStream;
        }
        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);
                }
            }
        }
Пример #25
0
        /// <summary>
        /// Gets the QR code containing the data of the network component.
        /// </summary>
        /// <returns>The QR code image.</returns>
        public Bitmap GetQRCode( )
        {
            QrEncoder qrEncoder = new QrEncoder( ErrorCorrectionLevel.H );
            byte[ ] ipBytes = IP.GetAddressBytes( );
            QrCode qrCode = qrEncoder.Encode( $"{string.Join( ",", ipBytes )},{Port}" );


            const int moduleSizeInPixels = 25;
            GraphicsRenderer renderer = new GraphicsRenderer( new FixedModuleSize( moduleSizeInPixels, QuietZoneModules.Two ), Brushes.Black, Brushes.White );

            DrawingSize dSize = renderer.SizeCalculator.GetSize( qrCode.Matrix.Width );

            Bitmap bmp = new Bitmap( dSize.CodeWidth, dSize.CodeWidth );
            using ( Graphics graphics = Graphics.FromImage( bmp ) )
                renderer.Draw( graphics, qrCode.Matrix );

            return bmp;
        }
Пример #26
0
    protected void Page_Load(object sender, EventArgs e)
    {
        QrEncoder encoder = new QrEncoder(ErrorCorrectionLevel.M);
        QrCode qrCode;
        encoder.TryEncode("Test", out qrCode);

        GraphicsRenderer gRenderer = new GraphicsRenderer(
         new FixedModuleSize(2, QuietZoneModules.Two),
         Brushes.Black, Brushes.White);

        MemoryStream ms = new MemoryStream();
        gRenderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, ms);

        FileStream file = new FileStream("D:\\qr.png", FileMode.OpenOrCreate);
        ms.WriteTo(file);
        file.Flush();
        file.Close();
    }
Пример #27
0
        public static void RunSample1()
        {
            Console.Write(@"Type some text to QR code: ");
            string sampleText = Console.ReadLine();
            QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M);
            QrCode qrCode = qrEncoder.Encode(sampleText);
            for (int j = 0; j < qrCode.Matrix.Width; j++)
            {
                for (int i = 0; i < qrCode.Matrix.Width; i++)
                {

                    char charToPrint = qrCode.Matrix[i, j] ? '█' : ' ';
                    Console.Write(charToPrint);
                }
                Console.WriteLine();
            }
            Console.WriteLine(@"Press any key to quit.");
            Console.ReadKey();
        }
        public ActionResult BarcodeImage(string secretKey, string userName)
        {
            string barcodeText = string.Format("otpauth://totp/Dentco%3A%20{0}?secret={1}", userName, secretKey);

            QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H);
            QrCode qrCode = new QrCode();
            qrEncoder.TryEncode(barcodeText, out qrCode);
            GraphicsRenderer renderer = new GraphicsRenderer(new FixedCodeSize(200, QuietZoneModules.Zero), 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");
            resultStream.FileDownloadName = string.Format("{0}.png", barcodeText);

            return resultStream;
        }
Пример #29
0
 public static bool GetQRCode(string CodeText,System.IO.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);
     }
     else
     {
         return false;
     }
     return true;
 }
        public void GenerateQrCodesForIds(string directory, IEnumerable<string> items)
        {
            QrEncoder encoder = new QrEncoder(ErrorCorrectionLevel.M);

            GraphicsRenderer renderer = new GraphicsRenderer(new FixedModuleSize(5, QuietZoneModules.Two), Brushes.Black, Brushes.White);

            int index = 0;
            foreach (var item in items)
            {
                QrCode qrCode = encoder.Encode(item);

                using (FileStream stream = new FileStream(string.Format("{0}\\{1}.png", directory, index), FileMode.Create))
                {
                    renderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, stream);
                }

                index++;
            }
        }
Пример #31
-1
        /// <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;
            }
        }