Beispiel #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;
            }
        }
Beispiel #2
0
        private void buttonSave_Click(object sender, EventArgs e)
        {
        	
            SaveFileDialog saveFileDialog = new SaveFileDialog();
            saveFileDialog.Filter = @"PNG (*.png)|*.png|Bitmap (*.bmp)|*.bmp|Encapsuled PostScript (*.eps)|*.eps";
            saveFileDialog.FileName = Path.GetFileName(GetFileNameProposal());
            saveFileDialog.DefaultExt = "png";

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

			if (saveFileDialog.FileName.EndsWith("eps"))
			{
                BitMatrix matrix = qrCodeGraphicControl1.GetQrMatrix();

                // Initialize the EPS renderer
                var renderer = new EncapsulatedPostScriptRenderer(
                    new FixedModuleSize(6, QuietZoneModules.Two), // Modules size is 6/72th inch (72 points = 1 inch)
                    new EPSFormColor(Color.Black), new EPSFormColor(Color.White));

                using (var file = File.OpenWrite(saveFileDialog.FileName))
                {
                    renderer.WriteToStream(matrix, file);
                }
			}
			else
			{

                DrawingBrushRenderer dRender = new DrawingBrushRenderer(new FixedModuleSize(5, QuietZoneModules.Four));
                BitMatrix matrix = qrCodeGraphicControl1.GetQrMatrix();
                using (FileStream stream = new FileStream(saveFileDialog.FileName, FileMode.Create))
                {
                    dRender.WriteToStream(matrix, ImageFormatEnum.PNG, stream);
                }

                //WriteableBitmapRenderer wRender = new WriteableBitmapRenderer(new FixedModuleSize(15, QuietZoneModules.Four));
                //BitMatrix matrix = qrCodeGraphicControl1.GetQrMatrix();
                //using (FileStream stream = new FileStream(saveFileDialog.FileName, FileMode.Create))
                //{
                //    wRender.WriteToStream(matrix, ImageFormatEnum.PNG, stream);
                //}

                //GraphicsRenderer gRender = new GraphicsRenderer(new FixedModuleSize(15, QuietZoneModules.Four));
                //BitMatrix matrix = qrCodeGraphicControl1.GetQrMatrix();
                //using (FileStream stream = new FileStream(saveFileDialog.FileName, FileMode.Create))
                //{
                //    gRender.WriteToStream(matrix, ImageFormat.Png, stream);
                //}
			}
           

        }
 /// <summary>
 /// Update Geometry if is unlocked. 
 /// </summary>
 internal void UpdateGeometry()
 {
     if (m_isLocked)
         return;
     new QrEncoder(ErrorCorrectLevel).TryEncode(Text, out m_QrCode);
     OnQrMatrixChanged(new EventArgs());
     m_width = m_QrCode.Matrix == null ? 21 : m_QrCode.Matrix.Width;
     QrGeometry = new DrawingBrushRenderer(new FixedCodeSize(200, QuietZoneModule), DarkBrush, LightBrush).DrawGeometry(m_QrCode.Matrix, 0, 0);
 }
        private void SaveImageFile(double imageSize)
        {
            SaveFileDialog saveFileDIalog = new SaveFileDialog();
            saveFileDIalog.Filter =
                @"PNG (.png)|*.png|Bitmap (.bmp)|*.bmp|JEPG (.jpg)|*.jpg|GIF (.gif)|*.gif|TIFF (.tiff)|*.tiff|WDP (.wdp)|*.wdp|EPS (.eps)|*.eps";
            saveFileDIalog.DefaultExt = ".png";
            saveFileDIalog.FileName = "QrCode";
            saveFileDIalog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures);

            if (saveFileDIalog.ShowDialog() == false)
                return;

            string fileName = saveFileDIalog.FileName;
            ImageFormatEnum imageFormat = ImageFormatEnum.PNG;
            string fileNameCheck = saveFileDIalog.FileName.ToLower();

            if (fileNameCheck.EndsWith("png"))
                imageFormat = ImageFormatEnum.PNG;
            else if (fileNameCheck.EndsWith("bmp"))
                imageFormat = ImageFormatEnum.BMP;
            else if (fileNameCheck.EndsWith("jpg"))
                imageFormat = ImageFormatEnum.JPEG;
            else if (fileNameCheck.EndsWith("gif"))
                imageFormat = ImageFormatEnum.GIF;
            else if (fileNameCheck.EndsWith("tiff"))
                imageFormat = ImageFormatEnum.TIFF;
            else if (fileNameCheck.EndsWith("wdp"))
                imageFormat = ImageFormatEnum.WDP;
            else if (fileNameCheck.EndsWith("eps"))
            {
                Properties.Settings.Default.SaveSize = imageSize;
                Properties.Settings.Default.Save();
                CreateEPSImage(imageSize, fileName);
                return;
            }
            else
                return;

            Properties.Settings.Default.SaveSize = imageSize;
            Properties.Settings.Default.Save();
            int pixelSize = (int)(imageSize * 96);

            DrawingBrushRenderer dRenderer = new DrawingBrushRenderer(new FixedCodeSize(pixelSize, QuietZoneModules.Two),
                new SolidColorBrush(DarkColor), new SolidColorBrush(LightColor));

            using (FileStream stream = new FileStream(fileName, FileMode.Create))
            {

                dRenderer.WriteToStream(QrMatrix, imageFormat, stream);
            }
        }
 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;
     }
 }