Пример #1
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;
            }
        }
 void DisplayQRCode(string imageUrl)
 {
     imageUrl = Common.UrlHelper.GetCorrectedStreamURL(imageUrl);
     if (string.IsNullOrWhiteSpace(imageUrl))
     {
         brdrQRCode.Visibility = System.Windows.Visibility.Collapsed;
         return;
     }
     try
     {
         QrEncoder encoder = new QrEncoder(ErrorCorrectionLevel.M);
         QrCode    qrCode;
         if (encoder.TryEncode(imageUrl, out qrCode))
         {
             DrawingBrushRenderer dRenderer = new DrawingBrushRenderer(new FixedModuleSize(2, QuietZoneModules.Two), Brushes.Black, Brushes.White);
             DrawingBrush         dBrush    = dRenderer.DrawBrush(qrCode.Matrix);
             rectQRCode.Fill       = dBrush;
             brdrQRCode.Visibility = System.Windows.Visibility.Visible;
         }
         else
         {
             brdrQRCode.Visibility = System.Windows.Visibility.Collapsed;
         }
     }
     catch
     {
         brdrQRCode.Visibility = System.Windows.Visibility.Collapsed;
     }
 }
Пример #3
0
        void test1(PrintPageEventArgs e)
        {
            int x = Convert.ToInt32(e.PageSettings.PrintableArea.X);
            int y = Convert.ToInt32(e.PageSettings.PrintableArea.Y);

            int   h   = Convert.ToInt32(e.PageSettings.PrintableArea.Height);
            int   w   = Convert.ToInt32(e.PageSettings.PrintableArea.Width);
            Point dpi = new Point(e.PageSettings.PrinterResolution.X, e.PageSettings.PrinterResolution.Y);


            //e.Graphics.DrawString("This is a test", new Font(FontFamily.GenericSansSerif, 12), Brushes.Blue, new PointF(0, 0));

            QrEncoder qrEncoder = new QrEncoder(Gma.QrCodeNet.Encoding.ErrorCorrectionLevel.L);


            ISizeCalculation iSizeCal = new FixedModuleSize(1, QuietZoneModules.Two);
            //ISizeCalculation iSizeCal = new FixedCodeSize(25, QuietZoneModules.Two);


            GraphicsRenderer gRenderer = new GraphicsRenderer(iSizeCal,
                                                              System.Drawing.Brushes.Black, System.Drawing.Brushes.White);


            QrCode qrCode1 = qrEncoder.Encode("Victor says hi");
            QrCode qrCode2 = qrEncoder.Encode("Victor says goodbye");
            QrCode qrCode3 = qrEncoder.Encode("0123456789");
            QrCode qrCode4 = qrEncoder.Encode("ABCDEF1234");


            DrawingBrushRenderer dRenderer = new DrawingBrushRenderer(iSizeCal,
                                                                      System.Windows.Media.Brushes.Black, System.Windows.Media.Brushes.White);
            DrawingBrush dBrush = dRenderer.DrawBrush(qrCode1.Matrix);

            int side = w;

            if (w > h)
            {
                side = h;
            }



            gRenderer.Draw(e.Graphics, qrCode1.Matrix);

            var   size   = iSizeCal.GetSize(qrCode1.Matrix.Width);
            Point offset = new Point(size.CodeWidth + 10, 0);

            gRenderer.Draw(e.Graphics, qrCode2.Matrix, offset);

            size      = iSizeCal.GetSize(qrCode2.Matrix.Width);
            offset.X += size.CodeWidth + 10;
            gRenderer.Draw(e.Graphics, qrCode3.Matrix, offset);

            size      = iSizeCal.GetSize(qrCode3.Matrix.Width);
            offset.X += size.CodeWidth + 10;
            gRenderer.Draw(e.Graphics, qrCode4.Matrix, offset);

            using (FileStream stream = new FileStream("test.png", FileMode.Create))
            {
                gRenderer.WriteToStream(qrCode1.Matrix, ImageFormat.Png, stream);
                gRenderer.WriteToStream(qrCode2.Matrix, ImageFormat.Png, stream);
            }
        }