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; } }
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); } }