2011-08-23 46 views
0

我与.NET 4.0图表控件作战,我目前坚持为什么字体只是拒绝呈现。它显示为几乎不可读的重叠字符。我确定字体安装在我的系统中。MVC3 System.Web.UI.DataVisualization.Charting字体不呈现,但风格确实

奇怪的是按照设置的字体stlye变化。![屏幕快照] [1]

我也有一个很难发现的Interval属性它上面的9计数去除标签,直到间隔为设置为1. interval属性的行为与System.Web.Helpers.Chart()控件的行为不同,它似乎忽略了该设置。瘸!

感谢您的任何帮助。

剃刀代码..

<img src="@Url.Action("ChartSample")" alt="image" />//In Razer 

控制器代码...

public ActionResult ChartSample() 
    { 
     var chart = new System.Web.UI.DataVisualization.Charting.Chart(); 
     chart.BackColor = Color.Transparent; 
     chart.Width = Unit.Pixel(250); 
     chart.Height = Unit.Pixel(2500); 

     var series = new Series(); 
     series.ChartArea = "ca1"; 

     series.ChartType = SeriesChartType.Bar; 
     //series.Font = new Font("Verdana", 8.25f, FontStyle.Regular); 

     var myRandom = new Random(); 

     for (int i = 0; i < 100; i++) 
     { 
      var dp = new DataPoint(); 
      dp.AxisLabel = String.Format("{0}-{1}", i, Guid.NewGuid().ToString().Substring(0, 4)); 
      dp.YValues = new double[] { myRandom.Next(5, 100) }; 
      series.Points.Add(dp); 
     } 


     chart.Series.Add(series); 

     var area = new ChartArea("ca1"); 
     area.Area3DStyle.Enable3D = false; 
     area.AxisX.Interval = 1; 
     //area.BackColor = Color.Transparent; 
     //var labelStyle = new LabelStyle(); 
     //labelStyle.Enabled = true; 
     //labelStyle.Font = new Font("Arial", 3f); 
     area.AxisX.LabelStyle.Font = new Font("Verdana", 8.25f, FontStyle.Underline);//Why does it recognize the style but not the font!!!??? 

     chart.ChartAreas.Add(area); 

     using (var ms = new MemoryStream()) 
     { 
      chart.SaveImage(ms, ChartImageFormat.Png); 
      ms.Seek(0, SeekOrigin.Begin); 

      return File(ms.ToArray(), "image/png", "mychart.png"); 
     } 
    } 
+0

,我也在考虑低分辨率作为一个可能的罪魁祸首。 – TheDev6

回答

1

只要给你的图表背部颜色如下:

chart.BackColor = Color.FromArgb(255, 255, 255);