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