private void OnCopyClick(object sender, RoutedEventArgs e) { double width = this.AssociatedObject.ActualWidth; double height = this.AssociatedObject.ActualHeight; if (ImageWidth > 0) { width = ImageWidth; } if (ImageHeight > 0) { height = ImageHeight; } if (Scale > 0) { width = width * Scale; height = height * Scale; } var pngExporter = new PngExporter { Width = (int)width, Height = (int)height, Background = OxyColors.White }; Application.Current.Dispatcher.Invoke((Action)(() => { var bitmap = pngExporter.ExportToBitmap(this.AssociatedObject.ActualModel); Clipboard.SetImage(bitmap); })); }
protected override bool OnDraw(SciterElement se, SciterXBehaviors.DRAW_PARAMS prms) { if (prms.cmd == SciterXBehaviors.DRAW_EVENTS.DRAW_CONTENT) { var pngExporter = new PngExporter() { Width = prms.area.Width, Height = prms.area.Height, Background = OxyColors.Transparent }; using (var ms = new MemoryStream()) { var bmp = pngExporter.ExportToBitmap(Host._model); using (var img = new SciterImage(bmp)) { new SciterGraphics(prms.gfx).BlendImage(img, prms.area.left, prms.area.top); } } return(true); } return(false); }
/// <summary> /// The to clipboard. /// </summary> /// <param name="chart"> /// The chart. /// </param> public static void ToClipboard(PlotModel chart) { var bitmap = PngExporter.ExportToBitmap(chart, (int)chart.Width, (int)chart.Height, OxyColor.FromArgb(255, 255, 255, 255)); Clipboard.SetImage(bitmap); StatusBarContent.Instance.MessagesLabel = Labels.ChartExportedToClipboardMessage; }
/// <summary> /// 导出按钮监听 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_ExTWO_Click(object sender, EventArgs e) { SaveFileDialog sfd = new SaveFileDialog(); sfd.Filter = @"Excel|*.xls"; sfd.ShowDialog(); string path = sfd.FileName; PlotModel pm = plotView1.Model; var pngExporter = new PngExporter { Width = 1000, Height = 400, Background = OxyColors.White }; Bitmap bitmap = pngExporter.ExportToBitmap(pm); Image image = bitmap; MemoryStream ms = new MemoryStream(); image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif); byte[] bytes = ms.ToArray(); IWorkbook workbook = new HSSFWorkbook(); workbook.CreateSheet("sheet1"); if (path != "") { using (FileStream fs = File.Create(path)) { ISheet sheet = workbook.GetSheetAt(0); HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 0, 0, 0, 5, 6, 10); int pic = workbook.AddPicture(bytes, PictureType.PNG); IDrawing patriarch = sheet.CreateDrawingPatriarch(); IPicture ipic = patriarch.CreatePicture(anchor, pic); ipic.Resize(); workbook.Write(fs); } MessageBox.Show("保存成功!"); } }
static void Main(string[] args) { var outputToFile = "test-oxyplot-static-export-file.png"; var outputExportStreamOOP = "test-oxyplot-ExportToStream.png"; var outputExportFileOOP = "test-oxyplot-ExportToFile.png"; var width = 1024; var height = 768; var background = OxyColors.LightGray; var resolution = 96d; var model = BuildPlotModel(); // export to file using static methods PngExporter.Export(model, outputToFile, width, height, resolution); // export using the instance methods using (var stream = new MemoryStream()) { var pngExporter = new PngExporter { Width = width, Height = height, Resolution = resolution }; pngExporter.Export(model, stream); System.IO.File.WriteAllBytes(outputExportStreamOOP, stream.ToArray()); } var pngExporter2 = new PngExporter { Width = width, Height = height, Resolution = resolution }; var bitmap = pngExporter2.ExportToBitmap(model); bitmap.Save(outputExportFileOOP, System.Drawing.Imaging.ImageFormat.Png); bitmap.Save(Path.ChangeExtension(outputExportFileOOP, ".gif"), System.Drawing.Imaging.ImageFormat.Gif); }
public override void ExportToBitmap(bool betterHeights, string path) { SetViewLayer(0); if (betterHeights) { int max = 1; foreach (var line in PlotModel.Series) { foreach (var point in ((LineSeries)line).Points) { if (point.Y > max) { max = (int)Math.Ceiling(point.Y); } } } PlotModel.Axes[1].MinimumRange = max; } PlotModel.Axes[0].Minimum = PlotModel.Series.Select(line => ((LineSeries)line).Points.Select(point => point.X)).Min().First(); PngExporter exp = new PngExporter(); exp.ExportToBitmap(PlotModel).Save(path); }
/// <summary> /// Exports the specified plot model to a bitmap. /// </summary> /// <param name="model">The plot model.</param> /// <param name="width">The width.</param> /// <param name="height">The height.</param> /// <param name="background">The background.</param> /// <param name="resolution">The resolution (dpi).</param> /// <returns>A bitmap.</returns> public static BitmapSource ExportToBitmap(PlotModel model, int width, int height, OxyColor background, int resolution = 96) { var exporter = new PngExporter { Width = width, Height = height, Background = background, Resolution = resolution }; return(exporter.ExportToBitmap(model)); }
internal Bitmap ExportBitmap() { var pngExporter = new PngExporter { Width = 600, Height = 400, Background = OxyColors.White }; return(pngExporter.ExportToBitmap(MyModel)); }
internal Bitmap ExportModelAsBitmap(PlotModel model) { var pngExporter = new PngExporter { Width = xSize, Height = ySize, Background = OxyColors.White }; Bitmap graph = pngExporter.ExportToBitmap(model); return(graph); }
private void menuCopyClipboard_Click(object sender, RoutedEventArgs e) { var pngExporter = new PngExporter { Width = 600, Height = 400, Background = OxyColors.White }; var bitmap = pngExporter.ExportToBitmap(PlotView.Model); Clipboard.SetImage(bitmap); }
private void ScreenShotbutton_Click(object sender, RoutedEventArgs e) { var pngExporter = new PngExporter { Width = 600, Height = 400, Background = OxyColors.White }; var bitmap = pngExporter.ExportToBitmap(PlotModels[0]); Clipboard.SetImage(bitmap); }
public void CopyGraph(int width, int height) { Backup(); Bitmap bmp = PngExporter.ExportToBitmap(plot.Model, width, height, Brushes.White); Clipboard.SetImage(bmp); bmp.Dispose(); Restore(); }
protected override void RenderToCanvas(Canvas canvas) { var width = (Int32)canvas.Width; var height = (Int32)canvas.Height; var bmp = PngExporter.ExportToBitmap(Plotter.Model, width, height, OxyColors.Transparent); canvas.Children.Add(new Image { Source = bmp }); }
IEnumerable <BitmapSource> GetFrames(int fromInd, int toInd, int step) { for (int i = fromInd; i <= toInd; i += step) { slider.Value = i; DoEvents(); var pngExporter = new PngExporter(); yield return(pngExporter.ExportToBitmap(vm.PM)); } }
internal Bitmap ExportBitmap() { var pngExporter = new PngExporter { Width = Settings.Sizes.Width, Height = Settings.Sizes.Height, Background = OxyColor.FromArgb(Settings.GraphColor.A, Settings.GraphColor.R, Settings.GraphColor.G, Settings.GraphColor.B) }; return(pngExporter.ExportToBitmap(MyModel)); }
/// <summary> /// Converts the plot model into an SVG string. /// </summary> /// <param name="model"></param> /// <param name="size"></param> /// <returns></returns> public BitmapSource CreateImage(PlotModel model, Size size) { var pngExporter = new PngExporter { Width = (int)size.Width, Height = (int)size.Height, Resolution = 120 }; return(pngExporter.ExportToBitmap(model)); }
private BitmapSource ExportToBitmap(IPlotModel plotModel, int height, int width, OxyColor background, double resolution = 96) { var exporter = new PngExporter() { Height = height, Width = width, Background = background, Resolution = resolution, }; return(exporter.ExportToBitmap(plotModel)); }
private BitmapSource ExportToBitMap(IPlotModel plot, int width, int height, OxyColor background, int resolution) { var exporter = new PngExporter { Width = width, Height = height, Background = background, Resolution = resolution }; return(exporter.ExportToBitmap(plot)); }
/// <summary> /// Converts the plot model into a BitmapSource with the given size and resolution. /// </summary> /// <param name="model"></param> /// <param name="size"></param> /// <param name="resolution"></param> /// <returns></returns> public BitmapSource CreateImageHighRes(PlotModel model, Size size, double resolution) { var multiplier = (resolution / 96.0); var width = Math.Ceiling(size.Width * multiplier); var height = Math.Ceiling(size.Height * multiplier); var pngExporter = new PngExporter { Width = (int)width, Height = (int)height, Resolution = (int)resolution }; return(pngExporter.ExportToBitmap(model)); }
internal Bitmap ExportBitmap() { var pngExporter = new PngExporter { Width = GraphWidth, Height = GraphHeight, Background = OxyColor.FromArgb( BackgroundColor.A, BackgroundColor.R, BackgroundColor.G, BackgroundColor.B) }; return(pngExporter.ExportToBitmap(MyModel)); }
private void copyToolStripMenuItem_Click(object sender, EventArgs e) { if (this.plot1.Model == null) { output("Errore: non posso copiare un grafico vuoto"); return; } var pngExporter = new PngExporter { Width = this.plot1.Width, Height = this.plot1.Height, Background = OxyColors.White }; var bitmap = pngExporter.ExportToBitmap(this.plot1.Model); Clipboard.SetImage(bitmap); output("Successo: grafo copiato correttamente. Incollalo in un'applicazione supportata (Word, Paint, ecc)"); }
public void CopyGraph(int width, int height) { Backup(); PngExporter pngExporter = new PngExporter(); pngExporter.Width = width; pngExporter.Height = height; pngExporter.Resolution = 72; pngExporter.Background = OxyPlot.OxyColors.White; Bitmap bmp = pngExporter.ExportToBitmap(plot.Model); Clipboard.SetImage(bmp); bmp.Dispose(); Restore(); }
/// <summary> /// The to file. /// </summary> /// <param name="chart"> /// The chart. /// </param> public static void ToFile(PlotModel chart) { var sfd = new SaveFileDialog(); sfd.CheckFileExists = false; sfd.CheckPathExists = true; sfd.DefaultExt = ".png"; sfd.AddExtension = true; sfd.Filter = Labels.GraphicFilesFilter; sfd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); sfd.Title = Labels.GraphicFilesSaveFileDialogTitle; if (sfd.ShowDialog().GetValueOrDefault()) { using (var stream = new FileStream(sfd.FileName, FileMode.Create)) { BitmapEncoder encoder = null; string extension = Path.GetExtension(sfd.FileName); var enc = new ASCIIEncoding(); if (extension != null) { switch (extension.ToLower()) { case ".bmp": encoder = new BmpBitmapEncoder(); break; case ".png": encoder = new PngBitmapEncoder(); break; case ".gif": encoder = new GifBitmapEncoder(); break; case ".tif": encoder = new TiffBitmapEncoder(); break; case ".wmp": encoder = new WmpBitmapEncoder(); break; case ".svg": var rc = new ShapesRenderContext(null); var svg = OxyPlot.SvgExporter.ExportToString(chart, chart.Width, chart.Height, true, rc); stream.Write(enc.GetBytes(svg), 0, svg.Length); return; case ".xaml": var xaml = XamlExporter.ExportToString(chart, chart.Width, chart.Height, OxyColor.FromArgb(255, 255, 255, 255)); stream.Write(enc.GetBytes(xaml), 0, xaml.Length); return; case ".jpg": default: encoder = new JpegBitmapEncoder(); break; } } var bitmap = PngExporter.ExportToBitmap(chart, (int)chart.Width, (int)chart.Height, OxyColor.FromArgb(255, 255, 255, 255)); // Save to file if (encoder != null) { encoder.Frames.Add(BitmapFrame.Create(bitmap)); encoder.Save(stream); } } } }
public PlotHandler() { var pview = new global::OxyPlot.WindowsForms.PlotView(); Control = pview; ContextMenu cmenu = new ContextMenu(); cmenu.Items.Add(new ButtonMenuItem((sender, e) => { var pngExporter = new PngExporter { Width = pview.Width, Height = pview.Height, Background = OxyColors.White }; var bitmap = pngExporter.ExportToBitmap(pview.Model); System.Windows.Forms.Clipboard.SetImage(bitmap); }) { Text = "Copy" }); cmenu.Items.Add(new ButtonMenuItem((sender, e) => { var pngExporter = new PngExporter { Width = pview.Width * 2, Height = pview.Height * 2, Background = OxyColors.White }; var bitmap = pngExporter.ExportToBitmap(pview.Model); System.Windows.Forms.Clipboard.SetImage(bitmap); }) { Text = "Copy @ 2x" }); cmenu.Items.Add(new ButtonMenuItem((sender, e) => { var pngExporter = new PngExporter { Width = pview.Width * 3, Height = pview.Height * 3, Background = OxyColors.White }; var bitmap = pngExporter.ExportToBitmap(pview.Model); System.Windows.Forms.Clipboard.SetImage(bitmap); }) { Text = "Copy @ 3x" }); cmenu.Items.Add(new ButtonMenuItem((sender, e) => { var sfd = new SaveFileDialog(); sfd.Title = "Save Chart to PNG"; sfd.Filters.Add(new FileFilter("PNG File", new string[] { ".png" })); sfd.CurrentFilterIndex = 0; if (sfd.ShowDialog(this.Widget) == DialogResult.Ok) { var pngExporter = new PngExporter { Width = pview.Width, Height = pview.Height, Background = OxyColors.White }; pngExporter.ExportToFile(Model, sfd.FileName); } }) { Text = "Save to File" }); cmenu.Items.Add(new ButtonMenuItem((sender, e) => { var sfd = new SaveFileDialog(); sfd.Title = "Save Chart to PNG"; sfd.Filters.Add(new FileFilter("PNG File", new string[] { ".png" })); sfd.CurrentFilterIndex = 0; if (sfd.ShowDialog(this.Widget) == DialogResult.Ok) { var pngExporter = new PngExporter { Width = pview.Width * 2, Height = pview.Height * 2, Background = OxyColors.White }; pngExporter.ExportToFile(Model, sfd.FileName); } }) { Text = "Save to File @ 2x" }); cmenu.Items.Add(new ButtonMenuItem((sender, e) => { var sfd = new SaveFileDialog(); sfd.Title = "Save Chart to PNG"; sfd.Filters.Add(new FileFilter("PNG File", new string[] { ".png" })); sfd.CurrentFilterIndex = 0; if (sfd.ShowDialog(this.Widget) == DialogResult.Ok) { var pngExporter = new PngExporter { Width = pview.Width * 3, Height = pview.Height * 3, Background = OxyColors.White }; pngExporter.ExportToFile(Model, sfd.FileName); } }) { Text = "Save to File @ 3x" }); cmenu.Items.Add(new ButtonMenuItem((sender, e) => { pview.Model.ResetAllAxes(); pview.Model.InvalidatePlot(false); }) { Text = "Reset to Default View" }); this.ContextMenu = cmenu; }