gpt4 book ai didi

c# - 如何调整图表的大小超过屏幕分辨率?

转载 作者:行者123 更新时间:2023-11-30 15:13:53 27 4
gpt4 key购买 nike

我有一个带有折线图的 C# 4.7 WinForms 应用程序。我想以非常大的分辨率保存图表图像,例如 10000x2000。这是我存档的内容:

Form1.Width = 3860; //my screen width resolution - maximum allowed
Form1.Height = 1080; //my screen height resolution - maximum allowed
chart1.Dock = DockStyle.Fill;
chart1.SaveImage(saveFile.FileName, ChartImageFormat.Jpeg);

该代码保存 3860x1080 分辨率的 jpeg 图像,我可以放大我需要的点。但这还不够,我想将表格或图表放大到 得到一个像 10000x2000 这样的图像,VS 说它不能比我的屏幕大。我在这张图表上有很多数据,所以更大的表格为我提供了图表上的更多数据。其他人需要图片才能看到最多的信息。

我该怎么做?

最佳答案

这很简单。

您需要做的就是在代码中创建图表,而不是在屏幕上显示它。

现在您可以根据需要调整它的大小..:

Chart bigChart = new Chart();
bigChart.ChartAreas.Add("ca");
Series s1 = bigChart.Series.Add("s1");
s1.BorderWidth = 5;
s1.ChartType = SeriesChartType.Line;

// testdata

Random rnd = new Random(8);
for (int i = 0; i < 111; i++)
{
s1.Points.AddXY(rnd.Next(123) + i, rnd.Next(12 * i)) ;
}

bigChart.Size = new Size(10000, 8000);

bigChart.SaveImage(filename, ChartImageFormat.Png);

一些注意事项:

  • 您可能还想添加一个 Legend,因为动态创建的 Chart 没有任何默认元素。

  • 如果您愿意,可以使用已有的图表,将其内容序列化为文件(或流),然后将其加载(反序列化)到大图表中..

  • 当尺寸增长很多时,MSChart 的自动智能往往会达到某个极限;所以准备好调整线宽、字体等的一些设置。

  • 您可能还想加载保存的图像并将 dpi 设置为比默认值更大的值,即屏幕分辨率。

  • 结语:有时最好将图表保存为vector格式;这些也在 SaveImage 方法中提供。

更新:也许您想像 Jimi 上次评论中那样结合矢量和像素格式。

你可能想研究this讨论一些常规选项的帖子。

关于c# - 如何调整图表的大小超过屏幕分辨率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57171078/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com