2013-09-24 39 views
1

我的图形输出非常小,我不能真正看到x和y轴上的值。有没有办法改变这个,所以图形更大? 我的代码输出图为:Zedgraph创建太小的图像

ZedGraphControl zc = new ZedGraphControl(); 
     GraphPane pane = zc.GraphPane; 

     PointPairList list1 = new PointPairList(); 
     LineItem curve1;    

     pane.Title.Text = title; 
     pane.XAxis.Title.Text = xAxisTitle; 
     pane.XAxis.Scale.Min = 0; 
     pane.XAxis.Scale.Max = 11; 
     pane.YAxis.Scale.Min = 1; 
     pane.YAxis.Scale.Max = 12; 
     pane.YAxis.Title.Text = yAXisTitle; 

     Int32 totalCount = ds.Tables[objectName].Rows.Count; 

     double[] xVals = new double[totalCount], yVals = new double[totalCount]; 

     for (int i = 0; i < totalCount; i++) 
     { 
      xVals[i] = Convert.ToDouble(ds.Tables[objectName].Rows[i]["ntotal"]); 
      yVals[i] = Convert.ToDouble(ds.Tables[objectName].Rows[i]["isomonth"]);         
     } 

     list1.Add(xVals, yVals); 

     curve1 = pane.AddCurve("Temp curve", list1, Color.Green, SymbolType.Circle); 

     for (int i = 0; i < totalCount; i++) 
     { 
      TextObj t = new TextObj("Teest", curve1.Points[i].Y, curve1.Points[i].X); 
      t.FontSpec.Border.IsVisible = false; 
      pane.GraphObjList.Add(t); 
     } 

     curve1.Line.Width = 1.0F; 

     pane.GetImage().Save(outPutDestination, ImageFormat.Png); 

     pane.AxisChange(); 

回答

0

的getImage()函数得到窗格中的电流的大小,所以我们只需要增加整个窗格的大小(即:码头&最大化窗口&然后使用该方法来获取图像)。

DockStyle currentStyle = zedGraphControl1.Dock; 
var currentWindowState = this.WindowState; 

zedGraphControl1.Dock = DockStyle.Fill; 
this.WindowState = FormWindowState.Maximized; 
zedGraphControl1.GetImage().Save (@"c:\Image_1.png"); 

this.WindowState = currentWindowState; 
zedGraphControl1.Dock = currentStyle;