グラフをハードディスクに保存するときのファイル サイズは次のとおりです。PDFで手動でストレッチすると、解像度が失われ、見た目が悪く、グラフ上で何も読み取れません。
どういうわけかグラフの解像度、つまり品質とシャープネスを維持したいのですが、サイズを1920x1080のように大きくします。
これは使用しているコードです:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ZedGraph;
using Extracting_Frames;
namespace Lightnings_Extractor
{
public partial class RGB_Form : Form
{
int framesLength;
public RGB_Form()
{
InitializeComponent();
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
zedGraphControl1.ClientSize = this.Size;
framesLength = Form1.list_of_histogramsR.Count;
}
public RGB_Form(List<long[]> Histograms)
{
InitializeComponent();
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
zedGraphControl1.ClientSize = this.Size;
framesLength = Histograms.Count;
CreateGraph_GradientByZBars(zedGraphControl1, Histograms);
}
private void CreateGraph_GradientByZBars(ZedGraphControl z1, List<long[]> HistoGramList)
{
GraphPane myPane = z1.GraphPane;
if (myPane != null)
{
myPane.CurveList.Clear();
myPane.GraphObjList.Clear();
myPane.Title.Text = "Simple Moving Average By : " + Form1.percentage + "%";
myPane.XAxis.Title.Text = "Frame Number";
myPane.YAxis.Title.Text = "Value";
myPane.XAxis.Scale.MaxAuto = false;
myPane.XAxis.Scale.MinAuto = false;
myPane.YAxis.Scale.MaxAuto = false;
myPane.YAxis.Scale.MinAuto = false;
myPane.XAxis.Scale.Min = 0;
myPane.XAxis.Scale.Max = 255; //framesLength;
myPane.YAxis.Scale.Min = 0;
myPane.YAxis.Scale.Max = framesLength;// 255;
PointPairList R = new PointPairList();
PointPairList G = new PointPairList();
PointPairList B = new PointPairList();
for (int i = 0; i < HistoGramList.Count; i++)
{
if (i == 3154)
{
double z = 0;
double yy = 0;
long[] g = HistoGramList[i];
for (int f = 0; f < g.Length; f++)
{
double x = f;
yy = g[f];
R.Add(x, yy, z);
}
}
}
LineItem myCurveRed = myPane.AddCurve("Original Signal",
R, Color.Red, SymbolType.None);
z1.Size = new System.Drawing.Size(1920, 1080);
z1.AxisChange();
z1.SaveAs(@"ZedRgb.bmp");
}
}
}
}
私が追加したコードの終わり近く:
z1.Size = new System.Drawing.Size(1920, 1080);
しかし、ハードディスク上のファイルのサイズはまだ何も変わっていません: 284x262
1920x1080 で品質を落とさずにグラフのサイズを変更してハードディスクに保存するにはどうすればよいですか? 私のプログラムでグラフを使用すると、全画面表示になり、グラフは大きな全画面表示になりますが、ハードディスクに保存すると非常に小さくなります。
編集: zedgraph コントロールを追加したフォームでは、フォームのサイズは 300x300 ですが、zedgraph コントロールのサイズは 284x262 であり、全画面表示にするために、ZedGraph コントロールの Dock プロパティを Fill に変更しました。
したがって、ZedGraph コントロールのデザイナのサイズは実際には 284x262 です。デザイナのサイズを変更せずに 1920x1080 としてハードディスクに保存したい場合、ランタイム コードで変更するにはどうすればよいですか?