MVC3 System.Web.UI.DataVisualization.Charting Шрифт не отображает, но Стиль делает - PullRequest
0 голосов
/ 24 августа 2011

Я борюсь с .net 4.0 Chart Controls и в настоящее время застрял на том, почему шрифт просто отказывается отрисовывать. Это показывает как почти нечитаемые перекрывающиеся символы. Я уверен, что шрифт установлен в моей системе.

Как ни странно, стиль шрифта изменяется в соответствии с настройкой.! [Снимок экрана] [1]

Мне также было трудно обнаружить свойство Interval, в котором оно удаляло метки выше счетчика 9, пока для Interval не было установлено значение 1. Свойство interval также ведет себя иначе, чем элемент управления System.Web.Helpers.Chart (), который выглядит игнорировать настройку. Lame!

Спасибо за любую помощь.

Код бритвы ..

<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");
        }
    }

1 Ответ

1 голос
/ 01 декабря 2011

Просто дайте вашему графику задний цвет следующим образом:

 chart.BackColor = Color.FromArgb(255, 255, 255);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...