1

我正在使用 System.Windows.Forms.DataVisualization.Charting 图表控件为我的 c# winforms 应用程序中的某些数据呈现图形。我现在需要将这些图形/图表保存为 .svg 或任何其他无损矢量图像,以便在 report.pdf 中使用时可以无缝缩放。

欢迎任何建议。

我研究了 SaveImage(String, ChartImageFormat),其中 ChartImageFormat 是一个不包含任何矢量图像格式的枚举。还搜索了 stackoverflow 和类似的 repos 以寻找答案,据我所知,这实际上是一个重复的问题(使用来自 github 的 C# SVG 渲染库将 ms 图表控制图像保存为 svg 文件),但该人退出并改用了 oxyplot。

        chart.AntiAliasing = AntiAliasingStyles.All;
        string imageNameAndPath = "TempImages/Image.png";
        chart.SaveImage(imageNameAndPath, ChartImageFormat.Png);

简而言之,我想做上面代码所做的事情,但使用 ChartImageFormat.SVG 或类似代码。

编辑:@TaW 现在在我看来,我无法正确地提出这个问题。详细说明:这里有两个图;

图表和氧图

紫色的来自提到的获胜形式,白色的来自 oxyplot。两者都保存到文件中;第一个到 emf 第二个到 svg 文件。当这些文件被打开并放大时,这就是我得到的:

矢量图像质量的差异

所以现在我不确定这种质量差异来自哪里,但很明显。所以我想我的问题是:如何以与 Oxyplot 中类似质量的矢量格式保存 Windows 窗体中的图表,最好不实际在屏幕上绘图(以某种方式直接绘制到文件,所以说话)?

4

0 回答 0