3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Windows Forms の Chart の解像度を上げる方法

3
Last updated at Posted at 2016-10-25

System.Windows.Forms.DataVisualization.Charting では、
Chart.SaveImage() という関数で Chart に描いたグラフを画像として保存できる。

chart1.SaveImage("image.png", ChartImageFormat.Png);

だが、デフォルトだとゴミみたいな解像度で保存される。

161025_102907.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; // 特に設定していないなら不要。

161025_103334.png

少しはマシになっているのがわかるだろうか。

ちなみに、3 倍にすれば 3 倍の解像度になるので、10 倍とかにして保存すれば画質に困らないかと思いきや、 Chart のサイズを大きくするごとにグラフの線が細く、ラベルが小さくなるので、使い物にならなくなってしまう。
ここらへんを設定しなおす方法も探せばありそうだが、今回は 2 倍の解像度で十分だったのでやめておいた。

ご存知の方がいたら、教えていただけると助かります。

3
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?