当我现在将图表保存到硬盘时,文件大小为:284x262 290kb 当我试图将图表从硬盘上的 bmp 文件放在 pdf 文档上时,它非常小。如果我在 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,如果我想在不更改设计器大小的情况下将其保存到我的硬盘上,如何在运行时代码中更改它?