有没有办法在源代码中使用方法Chart.SaveImage()
时更改图表的大小?
现在我发现设置图表大小的唯一方法是调整图表控件(System.Windows.Forms.DataVisualization.Charting.Chart
)所在的表单。我可以明确设置它的宽度和高度吗?尝试更改Chart.Size
,Chart.Width
或Chart.Size
不起作用。
答案 0 :(得分:3)
好的。解决方案非常明显,我在3天内找不到它 - 我已经设置Chart.Dock = DockStyle.Fill
,因此更改Size
属性不会影响。将其修改为DockStyle.None
后,我可以更改图表的大小,并且(最后!)将其保存为适当的宽度和高度。
答案 1 :(得分:0)
您可能需要将其保存到内存流中,然后使用Image类更改尺寸,然后将其保存到文件中。
using(MemoryStream ms = new MemoryStream(4096))
{
myChart.SaveImage(ms,ImageFormat.Png);
using(Bitmap img = Image.FromStream(ms))
{
using(Graphics g = Graphics.FromImage(img))
g.DrawImage( b, 0, 0, newWidth, newHeight );
}
img.Save("where\to\save\chart.png",ImageFormat.Png);
}
}
答案 2 :(得分:0)
您可以通过重新定义图表的“大小”属性来定义它:
var ch = new Chart();
ch.Size = new Size(600, 250);