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/hufS 著作权归作者所有。请勿转载和采集!