要保存 LiveCharts 的 LineSerie 图表,可以使用以下步骤:

  1. 安装 NuGet 包:LiveCharts.Wpf 和 LiveCharts.WinForms。

  2. 添加以下引用:

    using LiveCharts;
    using LiveCharts.Wpf;
    using System.Windows.Media.Imaging;
    
  3. 在 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>
    
  4. 在代码中创建保存图表的方法:

    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 文件。

  5. 调用 SaveChart() 方法以保存图表:

    SaveChart();
    

    这将在应用程序的根目录中创建名为“chart.png”的 PNG 文件,其中包含保存的 LineChart 图表。

注意:以上代码只是一个示例,您需要根据自己的实际情况进行适当修改。

C# WPF LiveCharts LineSerie 图表保存教程

原文地址: https://www.cveoy.top/t/topic/oW2h 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录