C# WPF LiveCharts LineSerie 图表保存教程
要保存 LiveCharts 的 LineSerie 图表,可以使用以下步骤:
-
安装 NuGet 包:LiveCharts.Wpf 和 LiveCharts.WinForms。
-
添加以下引用:
using LiveCharts; using LiveCharts.Wpf; using System.Windows.Media.Imaging; -
在 XAML 中创建 LineChart:
<Grid> <lvc:CartesianChart x:Name="lineChart"> <lvc:CartesianChart.Series> <lvc:LineSeries Title='Series 1' Values='10, 20, 30, 40, 50'/> </lvc:CartesianChart.Series> </lvc:CartesianChart> </Grid> -
在代码中创建保存图表的方法:
private void SaveChart() { var encoder = new PngBitmapEncoder(); encoder.Frames.Add(BitmapFrame.Create(RenderChart())); using (var fileStream = new FileStream("chart.png", FileMode.Create)) encoder.Save(fileStream); } private RenderTargetBitmap RenderChart() { var dpi = 96d; var bounds = VisualTreeHelper.GetDescendantBounds(lineChart); var renderTarget = new RenderTargetBitmap((int)(bounds.Width * dpi / 96.0), (int)(bounds.Height * dpi / 96.0), dpi, dpi, PixelFormats.Pbgra32); var visual = new DrawingVisual(); using (var drawingContext = visual.RenderOpen()) { var brush = new VisualBrush(lineChart); drawingContext.DrawRectangle(brush, null, new Rect(new Point(), bounds.Size)); } renderTarget.Render(visual); return renderTarget; }此方法将创建一个 RenderTargetBitmap 对象,该对象将 LineChart 渲染为图像,并使用 PngBitmapEncoder 将其保存为 PNG 文件。
-
调用 SaveChart() 方法以保存图表:
SaveChart();这将在应用程序的根目录中创建名为“chart.png”的 PNG 文件,其中包含保存的 LineChart 图表。
注意:以上代码只是一个示例,您需要根据自己的实际情况进行适当修改。
原文地址: https://www.cveoy.top/t/topic/oW2h 著作权归作者所有。请勿转载和采集!