Asp.net mvc 3 MVC3 System.Web.UI.DataVisualization.Charting字体不会呈现,但样式会呈现
我正在与.NET4.0图表控件进行斗争,目前仍在思考为什么字体拒绝呈现。它显示为几乎无法读取的重叠字符。我确信我的系统中安装了该字体 奇怪的是,字体stlye会随着设置而改变。![截屏][1] 我还很难发现Interval属性,它在将Interval设置为1之前删除计数为9以上的标签。interval属性的行为也不同于System.Web.Helpers.Chart()控件,后者似乎忽略了该设置。瘸子 谢谢你的帮助 剃刀代码Asp.net mvc 3 MVC3 System.Web.UI.DataVisualization.Charting字体不会呈现,但样式会呈现,asp.net-mvc-3,charts,Asp.net Mvc 3,Charts,我正在与.NET4.0图表控件进行斗争,目前仍在思考为什么字体拒绝呈现。它显示为几乎无法读取的重叠字符。我确信我的系统中安装了该字体 奇怪的是,字体stlye会随着设置而改变。![截屏][1] 我还很难发现Interval属性,它在将Interval设置为1之前删除计数为9以上的标签。interval属性的行为也不同于System.Web.Helpers.Chart()控件,后者似乎忽略了该设置。瘸子 谢谢你的帮助 剃刀代码 <img src="@Url.Action("ChartSamp
<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");
}
}
public ActionResult ChartSample()
{
var chart=new System.Web.UI.DataVisualization.Charting.chart();
chart.BackColor=Color.Transparent;
图表宽度=单位像素(250);
图表高度=单位像素(2500);
var系列=新系列();
series.ChartArea=“ca1”;
series.ChartType=serieChartType.Bar;
//series.Font=新字体(“Verdana”,8.25f,FontStyle.Regular);
var myRandom=new Random();
对于(int i=0;i<100;i++)
{
var dp=新数据点();
dp.AxisLabel=String.Format(“{0}-{1}”,i,Guid.NewGuid().ToString().Substring(0,4));
dp.YValues=新的双精度[]{myRandom.Next(5100)};
系列。点。添加(dp);
}
图表.系列.添加(系列);
var区域=新图表区域(“ca1”);
area.Area3DStyle.Enable3D=false;
area.axix.Interval=1;
//area.BackColor=Color.Transparent;
//var labelStyle=新labelStyle();
//labelStyle.Enabled=true;
//labelStyle.Font=新字体(“Arial”,3f);
area.AxisX.LabelStyle.Font=新字体(“Verdana”,8.25f,FontStyle.Underline);//为什么它能识别样式而不能识别字体!!!???
chart.ChartAreas.Add(面积);
使用(var ms=new MemoryStream())
{
SaveImage(ms,chartmageformat.Png);
Seek女士(0,SeekOrigin.Begin);
返回文件(ms.ToArray(),“image/png”,“mychart.png”);
}
}
只需为图表添加背景色,如下所示:
chart.BackColor = Color.FromArgb(255, 255, 255);
我还认为低分辨率也是一个可能的罪魁祸首。