Элемент управления WinForm: изменение размера диаграммы при сохранении в файл - PullRequest
3 голосов
/ 24 февраля 2010

есть ли способ изменить размер диаграммы при использовании метода Chart.SaveImage() из исходного кода?

Прямо сейчас единственный способ установить размер диаграммы - это изменить размер формы, в которой находится элемент управления диаграммы (System.Windows.Forms.DataVisualization.Charting.Chart). Можно ли явно указать его ширину и высоту? Попытка изменить Chart.Size, Chart.Width или Chart.Size не работает.

Ответы [ 3 ]

3 голосов
/ 26 февраля 2010

Хорошо.Решение было настолько очевидным, что я не смог его найти три дня - я установил Chart.Dock = DockStyle.Fill, поэтому изменение свойства Size не влияет.После изменения его на DockStyle.None я мог бы изменить размер диаграммы и (наконец!) Сохранить его с соответствующей шириной и высотой.

0 голосов
/ 28 ноября 2013

Вы можете определить его, переопределив свойство Size диаграммы:

var ch = new Chart();
ch.Size = new Size(600, 250);
0 голосов
/ 25 февраля 2010

Возможно, вам придется сохранить его в потоке памяти, затем использовать класс 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);
   }
}
...