System.Windows.Forms.DataVisualization.Charting では、
Chart.SaveImage() という関数で Chart に描いたグラフを画像として保存できる。
chart1.SaveImage("image.png", ChartImageFormat.Png);
だが、デフォルトだとゴミみたいな解像度で保存される。
この解像度をマシにする方法がなかなかなくて苦しんだ。
今のところ一番簡単な方法は、セーブするときだけ Chart 自体の大きさを変更すること。
試しに 2 倍にしてみる。
chart1.Width *= 2;
chart1.Height *= 2;
chart1.Dock = DockStyle.None; // 特に設定していないなら不要。
chart1.SaveImage("image.png", ChartImageFormat.Png);
chart1.Width /= 2;
chart1.Height /= 2;
chart1.Dock = DockStyle.Fill; // 特に設定していないなら不要。
少しはマシになっているのがわかるだろうか。
ちなみに、3 倍にすれば 3 倍の解像度になるので、10 倍とかにして保存すれば画質に困らないかと思いきや、 Chart のサイズを大きくするごとにグラフの線が細く、ラベルが小さくなるので、使い物にならなくなってしまう。
ここらへんを設定しなおす方法も探せばありそうだが、今回は 2 倍の解像度で十分だったのでやめておいた。
ご存知の方がいたら、教えていただけると助かります。

