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;
                }
            }
        }
Example #2
0
 /// <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);
     }
 }
Example #3
0
 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);
            }
        }
Example #6
0
        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
            {
            }
        }
Example #7
0
        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();
            }
        }
Example #8
0
 /// <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);
            }
        }
Example #10
0
        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);
            }
        }