private void SaveGraphButton_Click(object sender, RoutedEventArgs e) { SaveFileDialog dlg = new SaveFileDialog() { Filter = "Portable Network Graphics (*.png)|*.png|Portable Document Format (*.pdf)|*.pdf|Scalable Vector Graphics (*.svg)|*.svg", RestoreDirectory = true }; if (dlg.ShowDialog() == true) { if (File.Exists(dlg.FileName)) { try { File.Delete(dlg.FileName); } catch (IOException) { MessageBox.Show("Cannot access the file " + dlg.FileName + " because it is being used by another process.", Application.Current.MainWindow.Title, MessageBoxButton.OK, MessageBoxImage.Warning); } } switch (dlg.FileName.Substring(dlg.FileName.LastIndexOf('.'))) { case ".png": PngExporter pngExporter = new PngExporter(); using (FileStream fileStream = File.OpenWrite(dlg.FileName)) { pngExporter.Export(MainPlotView.Model, fileStream); } break; case ".pdf": PdfExporter pdfExporter = new PdfExporter(); using (FileStream fileStream = File.OpenWrite(dlg.FileName)) { pdfExporter.Export(MainPlotView.Model, fileStream); } break; case ".svg": OxyPlot.SvgExporter svgExporter = new OxyPlot.SvgExporter(); using (FileStream fileStream = File.OpenWrite(dlg.FileName)) { svgExporter.Export(MainPlotView.Model, fileStream); } break; default: break; } } }
/// <summary> /// Saves the graph as an .svg /// </summary> /// <param name="fileName"></param> private void SaveAsSVG(string fileName) { using (var stream = File.Create(fileName)) { OxyPlot.SvgExporter exporter = new OxyPlot.SvgExporter { Width = 600, Height = 400 }; exporter.Export(Model, stream); } }
public static void Show(string wndTitlle, PlotModel model) { // export using the instance methods using (var stream = new MemoryStream()) { var strPath = $"{Guid.NewGuid().ToString()}.svg"; var strFull = Path.Combine(Directory.GetCurrentDirectory(), strPath); var jpegExporter = new OxyPlot.SvgExporter(); jpegExporter.Export(model, stream); System.IO.File.WriteAllBytes(strFull, stream.ToArray()); Process.Start(@"cmd.exe ", @"/c " + strFull); } }
private static void Export([NotNull] PlotModel pm, [NotNull] string fullFileName, ExportType exportType) { if (exportType == ExportType.Png) { var pngExporter = new PngExporter { Width = 1600, Height = 1000, Background = OxyColors.White }; pngExporter.ExportToFile(pm, fullFileName); } if (exportType == ExportType.SVG) { var exporter = new SvgExporter { Width = 1600, Height = 1000 }; using (var stream = File.Create(fullFileName.Replace(".png", ".1.svg"))) { exporter.Export(pm, stream); } } }
public void SaveSvg() { var path = this.GetFilename(".svg files|*.svg", ".svg"); if (path != null) { // Using a WPF render context to measure the text var textMeasurer = new ShapesRenderContext(new Canvas()); using (var s = File.Create(path)) { var exporter = new SvgExporter { Width = this.Plot.ActualWidth, Height = this.Plot.ActualHeight, IsDocument = true, TextMeasurer = textMeasurer }; exporter.Export(this.Model, s); } OpenContainingFolder(path); } }
private void sVGToolStripMenuItem_Click(object sender, EventArgs e) { SelectFolder(); try { // Export to SVG string FileNameTop = Path.Combine(OutPath, DateTime.Now.ToString("yyyyMMddHHmmss_") + currentSystemName + "_Top".AddSuffixToFilename(".svg")); string FileNameFront = Path.Combine(OutPath, DateTime.Now.ToString("yyyyMMddHHmmss_") + currentSystemName + "_Front".AddSuffixToFilename(".svg")); string FileNameSide = Path.Combine(OutPath, DateTime.Now.ToString("yyyyMMddHHmmss_") + currentSystemName + "_Side".AddSuffixToFilename(".svg")); using (var stream = File.Create(FileNameTop)) { var exporter = new OxyPlot.SvgExporter { Width = 600, Height = 400 }; exporter.Export(plotViewTop.Model, stream); } using (var stream = File.Create(FileNameFront)) { var exporter = new OxyPlot.SvgExporter { Width = 600, Height = 400 }; exporter.Export(plotViewFront.Model, stream); } using (var stream = File.Create(FileNameSide)) { var exporter = new OxyPlot.SvgExporter { Width = 600, Height = 400 }; exporter.Export(plotViewSide.Model, stream); } } catch { } }
private void Speichern_Click(object sender, EventArgs e) { SaveFileDialog sfd = new SaveFileDialog(); sfd.Filter = "PDF Image|*.pdf|PNG Image|*.png|SVG Image|*.svg"; sfd.Title = "Diagramm Speichern"; sfd.ShowDialog(); if (sfd.FileName != "") { FileStream fs = (FileStream)sfd.OpenFile(); switch (sfd.FilterIndex) { case 1: var pdfExporter = new PdfExporter { Width = 600, Height = 400 }; pdfExporter.Export(plot1.Model, fs); break; case 2: var pngExporter = new PngExporter { Width = 600, Height = 400, Background = OxyColors.White }; pngExporter.Export(plot1.Model, fs); break; case 3: var exporter = new SvgExporter { Width = 600, Height = 400 }; exporter.Export(plot1.Model, fs); break; } fs.Close(); } }
/// <summary> /// Saves the plot to a svg file. /// </summary> /// <param name="fileName">Name of the file.</param> /// <param name="width">The width (points).</param> /// <param name="height">The height (points).</param> /// <param name="textMeasurer">The text measurer.</param> public void SaveSvg(string fileName, double width, double height, IRenderContext textMeasurer = null) { SvgExporter.Export(this, fileName, width, height, textMeasurer); }
/// <summary> /// Save plot model to SVG file. /// </summary> /// <param name="path"></param> /// <param name="plotModel"></param> public static void SaveSVG(string path, PlotModel plotModel, double width = double.NaN, double height = double.NaN) { using (var stream = File.Create(path)) { var exporter = new SvgExporter(); if (!double.IsNaN(width)) { exporter.Width = width; } if (!double.IsNaN(height)) { exporter.Height = height; } exporter.Export(plotModel, stream); } }
public void SaveSvg() { var path = this.GetFilename(".svg files|*.svg", ".svg"); if (path != null) { // Using a WPF render context to measure the text var textMeasurer = new CanvasRenderContext(new Canvas()); using (var s = File.Create(path)) { var exporter = new SvgExporter { Width = this.Plot.ActualWidth, Height = this.Plot.ActualHeight, IsDocument = true, TextMeasurer = textMeasurer }; exporter.Export(this.Model, s); } OpenContainingFolder(path); } }