예제 #1
0
 public static Texture2D GenerateQrCode(string _qrCodeKey, QRCodeGenerator.ECCLevel _eccLevel)
 {
     InitConst();
     using (QRCodeGenerator qrGenerator = new QRCodeGenerator())
     {
         using (QRCodeData qrCodeData = qrGenerator.CreateQrCode(_qrCodeKey, _eccLevel))
         {
             using (UnityQRCode qrCode = new UnityQRCode(qrCodeData))
             {
                 int size = qrCode.QrCodeData.ModuleMatrix.Count * _pixelsPerModule;
                 _bmp.Resize(size, size);
                 for (int x = 0; x < size; x = x + _pixelsPerModule)
                 {
                     for (int y = 0; y < size; y = y + _pixelsPerModule)
                     {
                         var  module = qrCode.QrCodeData.ModuleMatrix[(y + _pixelsPerModule) / _pixelsPerModule - 1][(x + _pixelsPerModule) / _pixelsPerModule - 1];
                         Rect rect   = new Rect(x, y, _pixelsPerModule, _pixelsPerModule);
                         if (module)
                         {
                             _bmp.SetPixels(x, size - y - _pixelsPerModule, (int)rect.width, (int)rect.height, _blackArr);
                         }
                         else
                         {
                             _bmp.SetPixels(x, size - y - _pixelsPerModule, (int)rect.width, (int)rect.height, _whiteArr);
                         }
                     }
                 }
             }
         }
     }
     _bmp.Apply();
     return(_bmp);
 }
예제 #2
0
        private void RenderQrCode(string TEXT)
        {
            QRCodeGenerator.ECCLevel eccLevel = 0;
            using (QRCodeGenerator qrGenerator = new QRCodeGenerator())
            {
                using (QRCodeData qrCodeData = qrGenerator.CreateQrCode(TEXT, eccLevel))
                {
                    using (QRCode qrCode = new QRCode(qrCodeData))
                    {
                        var tmp = qrCode.GetGraphic(3, Color.Black, Color.White,
                                                    GetIconBitmap(), 0);
                        pictureBoxQRCode.BackgroundImage = tmp;

                        pictureBoxQRCode.ToString();

                        this.pictureBoxQRCode.Size = new System.Drawing.Size(pictureBoxQRCode.Width, pictureBoxQRCode.Height);

                        //Set the SizeMode to center the image.
                        this.pictureBoxQRCode.SizeMode = PictureBoxSizeMode.CenterImage;

                        pictureBoxQRCode.SizeMode = PictureBoxSizeMode.CenterImage;
                    }
                }
            }
        }
예제 #3
0
 private void RenderQrCode(string e)
 {
     QRCodeGenerator.ECCLevel eccLevel = QRCodeGenerator.ECCLevel.M;
     using (QRCodeGenerator qrGenerator = new QRCodeGenerator())
     {
         using (QRCodeData qrCodeData = qrGenerator.CreateQrCode(e, eccLevel))
         {
             using (QRCode qrCode = new QRCode(qrCodeData))
             {
                 pictureBoxQRCode.Invoke(new Action(delegate()
                 {
                     try
                     {
                         pictureBoxQRCode.BackgroundImage = qrCode.GetGraphic(10, Color.Black, Color.White, null, 0, 0, false);
                         this.pictureBoxQRCode.Size       = new System.Drawing.Size(pictureBoxQRCode.Width, pictureBoxQRCode.Height);
                         this.pictureBoxQRCode.SizeMode   = PictureBoxSizeMode.CenterImage;
                         pictureBoxQRCode.SizeMode        = PictureBoxSizeMode.StretchImage;
                         string file = string.Format(@"C:\QR\{0}.jpg", txtBoxQRCode.Text);
                         // Save
                         using (FileStream fs = new FileStream(file, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite))
                         {
                             ImageFormat imageFormat = ImageFormat.Jpeg;
                             pictureBoxQRCode.BackgroundImage.Save(fs, imageFormat);
                             fs.Close();
                         }
                     }
                     catch (Exception ex)
                     {
                         // Do nothing : clising form
                     }
                 }));
             }
         }
     }
 }
        private async void button_Click(object sender, RoutedEventArgs e)
        {
            if (comboBoxECC.SelectedItem != null)
            {
                string level = comboBoxECC.SelectedItem.ToString();
                QRCodeGenerator.ECCLevel eccLevel = (QRCodeGenerator.ECCLevel)(level == "L" ? 0 : level == "M" ? 1 : level == "Q" ? 2 : 3);

                QRCodeGenerator  qrGenerator = new QRCodeGenerator();
                QRCodeData       qrCodeData  = qrGenerator.CreateQrCode("The text which should be encoded.", eccLevel);
                BitmapByteQRCode qrCode      = new BitmapByteQRCode(qrCodeData);
                byte[]           qrCodeImage = qrCode.GetGraphic(20);

                using (InMemoryRandomAccessStream stream = new InMemoryRandomAccessStream())
                {
                    using (DataWriter writer = new DataWriter(stream.GetOutputStreamAt(0)))
                    {
                        writer.WriteBytes(qrCodeImage);
                        await writer.StoreAsync();
                    }
                    var image = new BitmapImage();
                    await image.SetSourceAsync(stream);

                    imageViewer.Source = image;
                }
            }
        }
예제 #5
0
        public async Task <IActionResult> qrcode()
        {
            string level = "Q";
            string url   = "342434uiiiiiiiiiiiiiiiiiiiiiiiiiii3放到";

            QRCodeGenerator.ECCLevel eccLevel = (QRCodeGenerator.ECCLevel)(level == "L" ? 0 : level == "M" ? 1 : level == "Q" ? 2 : 3);
            using (QRCodeGenerator qrGenerator = new QRCodeGenerator())
            {
                using (QRCodeData qrCodeData = qrGenerator.CreateQrCode(url, eccLevel))
                {
                    using (QRCode qrCode = new QRCode(qrCodeData))
                    {
                        Bitmap Image       = qrCode.GetGraphic(10, Color.Black, Color.White, GetIconBitmap(), (int)8);
                        var    contentRoot = Directory.GetCurrentDirectory();
                        var    webRoot     = Path.Combine(contentRoot, "wwwroot");

                        Image.Save(Path.Combine(webRoot, "twoiconcode.jpg"));
                    }
                }
            }


            ViewBag.iconcode = @"\twoiconcode.jpg";
            return(View());
        }
예제 #6
0
        private QRCode GetQrCode(string content, QRCodeGenerator.ECCLevel eccLevel, bool forceUtf8 = false, bool utf8BOM = false)
        {
            QRCodeGenerator qrGenerator = new QRCodeGenerator();
            QRCodeData      qrCodeData  = qrGenerator.CreateQrCode(content, eccLevel, forceUtf8, utf8BOM);

            return(new QRCode(qrCodeData));
        }
예제 #7
0
        private string renderQRCode()
        {
            string level = comboBoxECC.SelectedIndex.ToString();

            QRCodeGenerator.ECCLevel ecl = (QRCodeGenerator.ECCLevel)(level == "L" ? 0 : level == "M" ? 1 : level == "Q" ? 2 : 3);
            QRCodeGenerator          qg  = new QRCodeGenerator();

            string s;

            s = clnm.Text + "=\t" + client_name.Text + "\n\n" + opnm.Text + "=\t" + opposite.Text + "\n\n" + C.Text + "=\t" + client_code.Text + "\n\n" + ctyp.Text + "=\t" + case_type.Text + "\n\n" + cnum.Text + "=\t" + case_number.Text + "\n\n" + client_mobile.Text + "=\t" + client_mob.Text + "\n\n" + cadv.Text + "\t" + advcode.Text + "\n\n" + year.Text + "=\t" + case_year.Text;

            QRCodeData qd = qg.CreateQrCode(s, ecl);

            QRCode qc = new QRCode(qd);

            pictureBox1.BackgroundImage = qc.GetGraphic(3, Color.Black, Color.White, getIconBitmap());
            image = qc.GetGraphic(3, Color.Black, Color.White, getIconBitmap());
            using (MemoryStream ms = new MemoryStream())
            {
                // Convert Image to byte[]
                image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
                byte[] imageBytes = ms.ToArray();

                // Convert byte[] to Base64 String

                string base64String = Convert.ToBase64String(imageBytes);
                return(base64String);
            }
        }
예제 #8
0
 public static byte[] GetQRCode(string txt, QRCodeGenerator.ECCLevel eccLevel, int size)
 {
     using (var qrGen = new QRCodeGenerator())
         using (var qrCode = qrGen.CreateQrCode(txt, eccLevel))
             using (var qrPng = new PngByteQRCode(qrCode))
                 return(qrPng.GetGraphic(size));
 }
예제 #9
0
        public bool CreateQRCode(string str, QRCodeGenerator.ECCLevel eccLevel, System.Drawing.Size size)
        {
            if (string.IsNullOrEmpty(str))
            {
                return(false);
            }

            _qrdata = QrcodeGenerator.CreateQrCode(str, eccLevel);
            string svg = "";

            if (null != _qrdata)
            {
                SvgQRCode svgqrcode = new SvgQRCode(_qrdata);
                svg = svgqrcode.GetGraphic(size, Color.Black, Color.White);

                using (var stream = new MemoryStream(Encoding.Default.GetBytes(svg)))
                {
                    _svg = SvgDocument.Open <SvgDocument>(stream, null);
                    var g  = new SvgGroup();
                    var ls = _svg.Children.ToList();
                    _svg.Children.Clear();
                    foreach (var c in ls)
                    {
                        g.Children.Add(c);
                    }

                    _svg.Children.Add(g);
                }

                DrawCorner();
            }
            _svg.Write(@"d:\1.svg");
            _image = _svg.Draw();// CustomQRCode.QRCode.Util.Svg2Bitmap(_svg);
            return(true);
        }
예제 #10
0
 public static byte[] GetQRCode(string txt, QRCodeGenerator.ECCLevel eccLevel, int size)
 {
     using (QRCodeGenerator qrGen = new QRCodeGenerator())
         using (QRCodeData qrCode = qrGen.CreateQrCode(txt, eccLevel))
             using (BitmapByteQRCode qrBmp = new BitmapByteQRCode(qrCode))
                 return(qrBmp.GetGraphic(size));
 }
예제 #11
0
        /// <summary>
        /// 生成二维码
        /// </summary>
        /// <param name="content"></param>
        /// <param name="level"></param>
        /// <param name="pixelsPerModule"></param>
        /// <returns></returns>
        public static MemoryStream RenderQrCode(string content, string level, int pixelsPerModule, string iconPath = "")
        {
            var stream = new MemoryStream();

            QRCodeGenerator.ECCLevel eccLevel = (QRCodeGenerator.ECCLevel)(level == "L" ? 0 : level == "M" ? 1 : level == "Q" ? 2 : 3);
            using (QRCodeGenerator qrGenerator = new QRCodeGenerator())
            {
                using (QRCodeData qrCodeData = qrGenerator.CreateQrCode(content, eccLevel))
                {
                    using (QRCode qrCode = new QRCode(qrCodeData))
                    {
                        Bitmap qRCode = null;
                        if (string.IsNullOrEmpty(iconPath))
                        {
                            qRCode = qrCode.GetGraphic(pixelsPerModule);
                        }
                        else
                        {
                            qRCode = qrCode.GetGraphic(pixelsPerModule, Color.Black, Color.White, new Bitmap(iconPath));
                        }
                        //pictureBoxQRCode.Size = new System.Drawing.Size(pictureBoxQRCode.Width, pictureBoxQRCode.Height);
                        //Set the SizeMode to center the image.
                        qRCode.Save(stream, ImageFormat.Jpeg);
                    }
                }
            }
            return(stream);
        }
예제 #12
0
        public static Image GetGenerateQRCode(string txtValue, string level, string iconPath, int iconeSize)
        {
            Image img = null;

            try
            {
                QRCodeGenerator.ECCLevel eccLevel = (QRCodeGenerator.ECCLevel)(level == "L" ? 0 : level == "M" ? 1 : level == "Q" ? 2 : 3);

                using (QRCodeGenerator qrGenerator = new QRCodeGenerator())
                {
                    using (QRCodeData qrCodeData = qrGenerator.CreateQrCode(txtValue, eccLevel))
                    {
                        using (QRCode qrCode = new QRCode(qrCodeData))
                        {
                            img = qrCode.GetGraphic(20, Color.Black, Color.White, GetIconBitmap(iconPath), iconeSize);
                        }
                    }
                }
            }
            catch (Exception exc)
            {
                ImplementLog.Instance.PutLogMessage(Properties.Settings.Default.MasterDirectory, DateTime.Now.ToLongDateString() + " " + DateTime.Now.ToLongTimeString() + " : Echec de génération du QR Code  : " + exc.GetType().ToString() + " : " + " => " + exc.Message, Properties.Settings.Default.MasterDirectory, Properties.Settings.Default.MasterDirectory + Properties.Settings.Default.LogFileName);
                throw;
            }

            return(img);
        }
        public async Task <byte[]> CreateQRAsync(string text)
        {
            //if (comboBoxECC.SelectedItem != null)
            {
                //Create generator
                string level = "Q";
                QRCodeGenerator.ECCLevel eccLevel = (QRCodeGenerator.ECCLevel)(level == "L" ? 0 : level == "M" ? 1 : level == "Q" ? 2 : 3);

                //Create raw qr code data
                QRCodeGenerator qrGenerator = new QRCodeGenerator();
                QRCodeData      qrCodeData  = qrGenerator.CreateQrCode(text, eccLevel);

                //Create byte/raw bitmap qr code
                BitmapByteQRCode qrCodeBmp      = new BitmapByteQRCode(qrCodeData);
                byte[]           qrCodeImageBmp = qrCodeBmp.GetGraphic(20, new byte[] { 0, 0, 0 }, new byte[] { 255, 255, 255 });

                ////Create byte/raw png qr code
                //PngByteQRCode qrCodePng = new PngByteQRCode(qrCodeData);
                //byte[] qrCodeImagePng = qrCodePng.GetGraphic(20, new byte[] { 144, 201, 111 }, new byte[] { 118, 126, 152 });

                //QRImage.Source = LoadImage(qrCodeImageBmp);

                return(qrCodeImageBmp);
            }
        }
예제 #14
0
 /// <summary>
 /// 初始化一个<see cref="QRCoderQrCodeService"/>类型的实例
 /// </summary>
 public QRCoderQrCodeService()
 {
     _size            = 10;
     _level           = QRCodeGenerator.ECCLevel.L;
     _logoPath        = string.Empty;
     _foregroundColor = Color.Black;
     _backgroundColor = Color.White;
 }
        private static QRCode GetQrCode(string text, QRCodeGenerator.ECCLevel eccLevel)
        {
            QRCodeGenerator qrGenerator = new QRCodeGenerator();
            QRCodeData      qrCodeData  = qrGenerator.CreateQrCode(text, eccLevel);
            QRCode          qrCode      = new QRCode(qrCodeData);

            return(qrCode);
        }
예제 #16
0
        public static void GenerateQRCode(string code, string savePath, QRCodeGenerator.ECCLevel level, int pixelsPerModule)
        {
            QRCodeData qrCodeData = qrGenerator.CreateQrCode(code, level);
            QRCode     qrCode     = new QRCode(qrCodeData);

            System.Drawing.Bitmap qrCodeImage = qrCode.GetGraphic(pixelsPerModule);
            qrCodeImage.Save(savePath, System.Drawing.Imaging.ImageFormat.Jpeg);
        }
예제 #17
0
        public byte[] Create(string data, QRCodeLevel level, int pixelsPerModule, string darkColorHtmlHex, string lightColorHtmlHex)
        {
            QRCodeGenerator.ECCLevel lv = (QRCodeGenerator.ECCLevel)((int)level);
            var qrcodeData        = CreateQrCode(data, lv);
            BitmapByteQRCode code = new BitmapByteQRCode(qrcodeData);

            return(code.GetGraphic(pixelsPerModule, darkColorHtmlHex: darkColorHtmlHex, lightColorHtmlHex: lightColorHtmlHex));
        }
예제 #18
0
        public byte[] Create(string data, QRCodeLevel level = QRCodeLevel.Q, int pixelsPerModule = 20)
        {
            QRCodeGenerator.ECCLevel lv = (QRCodeGenerator.ECCLevel)((int)level);
            var qrcodeData        = CreateQrCode(data, lv);
            BitmapByteQRCode code = new BitmapByteQRCode(qrcodeData);

            return(code.GetGraphic(pixelsPerModule));
        }
예제 #19
0
 private void batchGenerateQRImage(string ImgDir, QRCodeGenerator.ECCLevel ecc)
 {
     System.Drawing.Bitmap logo = SinoCloudWisdomBarCodeGenerator.Properties.Resources.logo;
     while (ImgFileInd < 50000)
     {
         string content = getRandom(range) + barcodeFlagSwitch0;
         generateQRImage(content, ImgDir, ecc, logo, false, true);
     }
 }
예제 #20
0
        public Bitmap GetQR(int pixelsPerModule = 10, QRCodeGenerator.ECCLevel eCCLevel = QRCodeGenerator.ECCLevel.Q)
        {
            QRCodeGenerator qrGenerator = new QRCodeGenerator();
            var             data        = ToJson();
            QRCodeData      qrCodeData  = qrGenerator.CreateQrCode(data, eCCLevel);
            QRCode          qrCode      = new QRCode(qrCodeData);
            Bitmap          qrCodeImage = qrCode.GetGraphic(pixelsPerModule);

            return(qrCodeImage);
        }
예제 #21
0
        private void Produce(string code, PictureBox pic, QRCodeGenerator.ECCLevel level)
        {
            QRCodeGenerator qr     = new QRCodeGenerator();
            QRCodeData      data   = qr.CreateQrCode(code, level);
            QRCode          qrcode = new QRCode(data);

            Bitmap qrCodeImage = qrcode.GetGraphic(5, Color.Black, Color.White, null, 15, 6, false);

            pic.Image = qrCodeImage;
        }
예제 #22
0
        private void renderQRCode()
        {
            string level = comboBoxECC.SelectedItem.ToString();

            QRCodeGenerator.ECCLevel eccLevel    = (QRCodeGenerator.ECCLevel)(level == "L" ? 0 : level == "M" ? 1 : level == "Q" ? 2 : 3);
            QRCodeGenerator          qrGenerator = new QRCodeGenerator();
            QRCodeData qrCodeData = qrGenerator.CreateQrCode(textBoxQRCode.Text, eccLevel);
            QRCode     qrCode     = new QRCode(qrCodeData);

            pictureBoxQRCode.BackgroundImage = qrCode.GetGraphic(20, Color.Black, Color.White, getIconBitmap(), (int)iconSize.Value);
        }
        public string Create(string text, QRCodeGenerator.ECCLevel value, int pixelsPerModule)
        {
            var qrCodeData = Instance.CreateQrCode(text, value);
            var qrCode     = new QRCode(qrCodeData);
            var bitmap     = qrCode.GetGraphic(pixelsPerModule);

            // This line is the only modified by the provided in the code above.
            bitmap.Save("C:\\" + text + ".bmp", System.Drawing.Imaging.ImageFormat.Bmp);
            //I return this string for testing. I guess If removed the text wouldn't work.
            return("Hello");
        }
예제 #24
0
        private static void GenerateQRCode(string payloadString, QRCodeGenerator.ECCLevel eccLevel, string outputFileName, SupportedImageFormat imgFormat, int pixelsPerModule, string foreground, string background)
        {
            using (var generator = new QRCodeGenerator())
            {
                using (var data = generator.CreateQrCode(payloadString, eccLevel))
                {
                    switch (imgFormat)
                    {
                    case SupportedImageFormat.Png:
                    case SupportedImageFormat.Jpg:
                    case SupportedImageFormat.Gif:
                    case SupportedImageFormat.Bmp:
                    case SupportedImageFormat.Tiff:
                        using (var code = new QRCode(data))
                        {
                            using (var bitmap = code.GetGraphic(pixelsPerModule, foreground, background, true))
                            {
                                var actualFormat = new OptionSetter().GetImageFormat(imgFormat.ToString());
                                bitmap.Save(outputFileName, actualFormat);
                            }
                        }
                        break;

                    case SupportedImageFormat.Svg:
                        using (var code = new SvgQRCode(data))
                        {
                            var test = code.GetGraphic(pixelsPerModule, foreground, background, true);
                            using (var f = File.CreateText(outputFileName))
                            {
                                f.Write(test);
                                f.Flush();
                            }
                        }
                        break;

                    case SupportedImageFormat.Xaml:
                        using (var code = new XamlQRCode(data))
                        {
                            var test = XamlWriter.Save(code.GetGraphic(pixelsPerModule, foreground, background, true));
                            using (var f = File.CreateText(outputFileName))
                            {
                                f.Write(test);
                                f.Flush();
                            }
                        }
                        break;

                    default:
                        throw new ArgumentOutOfRangeException(nameof(imgFormat), imgFormat, null);
                    }
                }
            }
        }
예제 #25
0
        private void generateQRImage(string content, string ImgDir, QRCodeGenerator.ECCLevel eccLevel, System.Drawing.Bitmap logo = null, bool forceUtf8 = false, bool utf8BOM = false)
        {
            QRCode qrCode = GetQrCode(content, eccLevel, forceUtf8, forceUtf8);

            System.Drawing.Bitmap m_Bitmap = qrCode.GetGraphic(10, System.Drawing.Color.Black, System.Drawing.Color.White, logo, 6, 6, true);
            if (!Directory.Exists(ImgDir))
            {
                Directory.CreateDirectory(ImgDir);
            }
            ImgFileInd++;
            m_Bitmap.Save(System.IO.Path.Combine(ImgDir, ImgFileInd.ToString("D5") + "-" + content + ".png"));
        }
예제 #26
0
        private void renderQRCode()
        {
            QRCodeGenerator.ECCLevel eccLevel    = (QRCodeGenerator.ECCLevel)cbLevel.SelectedIndex;
            QRCodeGenerator          qrGenerator = new QRCodeGenerator();
            QRCodeData qrCodeData = qrGenerator.CreateQrCode(textBoxQRCode.Text, eccLevel);
            QRCode     qrCode     = new QRCode(qrCodeData);

            int iconSize = (int)numIconSize.Value;
            int cellSize = (int)numCellSize.Value;
            int padding  = (int)numPadding.Value;

            pictureBoxQRCode.BackgroundImage = qrCode.GetGraphic(cellSize, Color.Black, Color.White, getIconBitmap(), iconSize, padding);
        }
예제 #27
0
        public Task <Bitmap> CodeToImage(string text, QRCodeSetting codeSetting)
        {
            var codeSettingInternal = codeSetting ?? new QRCodeSetting();

            QRCodeGenerator.ECCLevel level = (QRCodeGenerator.ECCLevel)(int) codeSettingInternal.Level;
            QRCodeData codeData            = generator.CreateQrCode(text ?? string.Empty, level, true);

            using (QRCode qrcode = new QRCode(codeData))
            {
                var bitmap = qrcode.GetGraphic(codeSettingInternal.PixelsPerModule, codeSettingInternal.ForeColor, codeSettingInternal.BackColor, codeSettingInternal.DrawQuietZones);
                return(Task.FromResult(bitmap));
            }
        }
예제 #28
0
        /// <summary>
        /// 生成二维码
        /// </summary>
        /// <param name="strToEncode">待编码数据字符串</param>
        /// <param name="eccLevel">ECC校验等级,L/M/Q/H,默认L</param>
        /// <param name="pixelsPerModule">每模块像素值,默认20</param>
        /// <returns>返回Bitmap或异常时为null</returns>
        public static Bitmap GenerateQrCode(string strToEncode, string eccLevel, int pixelsPerModule)
        {
            try
            {
                PublicLib.logger.Info("GenerateQrCode:strToEncode=" + strToEncode + ",eccLevel=" + eccLevel + ",pixelsPerModule=" + pixelsPerModule.ToString());

                if (pixelsPerModule <= 0)
                {
                    pixelsPerModule = 20;
                }

                QRCodeGenerator          qrGenerator = new QRCodeGenerator();
                QRCodeGenerator.ECCLevel lvl         = QRCodeGenerator.ECCLevel.L;
                if (eccLevel == "H")
                {
                    lvl = QRCodeGenerator.ECCLevel.H;
                }
                else if (eccLevel == "M")
                {
                    lvl = QRCodeGenerator.ECCLevel.M;
                }
                else if (eccLevel == "Q")
                {
                    lvl = QRCodeGenerator.ECCLevel.Q;
                }
                else
                {
                    lvl = QRCodeGenerator.ECCLevel.L;
                }

                QRCodeData qrCodeData  = qrGenerator.CreateQrCode(strToEncode, lvl);
                QRCode     qrCode      = new QRCode(qrCodeData);
                Bitmap     qrCodeImage = qrCode.GetGraphic(pixelsPerModule);

                //Set color by using Color-class types
                //Bitmap qrCodeImage1 = qrCode.GetGraphic(pixelsPerModule, Color.DarkRed, Color.PaleGreen, true);

                //Set color by using HTML hex color notation
                //Bitmap qrCodeImage2 = qrCode.GetGraphic(pixelsPerModule, "#000ff0", "#0ff000");

                //The another overload enables you to render a logo/image in the center of the QR code.
                //Bitmap qrCodeImage3 = qrCode.GetGraphic(pixelsPerModule, Color.Black, Color.White, (Bitmap)Bitmap.FromFile("C:\\myimage.png"));

                return(qrCodeImage);
            }
            catch (Exception ex)
            {
                PublicLib.logger.Error("qrCode->GenerateQrCode:" + ex.Message);
                return(null);
            }
        }
예제 #29
0
 public FileResult Get()
 {
     QRCodeGenerator.ECCLevel eccLevel = QRCodeGenerator.ECCLevel.L;
     using (QRCodeGenerator qrGenerator = new QRCodeGenerator())
     {
         using (QRCodeData qrCodeData = qrGenerator.CreateQrCode("Hello .NET Core", eccLevel))
         {
             using (QRCode qrCode = new QRCode(qrCodeData))
             {
                 Bitmap bp = qrCode.GetGraphic(20, Color.Black, Color.White, true);
                 return(File(Bitmap2Byte(bp), "image/png", "hello-dotnetcore.png"));
             }
         }
     }
 }
예제 #30
0
 /// <summary>
 /// 渲染二维码
 /// </summary>
 /// <param name="str"></param>
 /// <returns></returns>
 private Bitmap RenderQrCode(string str)
 {
     QRCodeGenerator.ECCLevel eccLevel = QRCodeGenerator.ECCLevel.L;
     using (QRCodeGenerator qrGenerator = new QRCodeGenerator())
     {
         using (QRCodeData qrCodeData = qrGenerator.CreateQrCode(str, eccLevel))
         {
             using (QRCode qrCode = new QRCode(qrCodeData))
             {
                 Bitmap bp = qrCode.GetGraphic(20, Color.Black, Color.White,
                                               new Bitmap(Path.Combine(_hostingEnvironment.WebRootPath, "images/alipay.png")), 15);
                 return(bp);
             }
         }
     }
 }