113 lines
3.0 KiB
C#
113 lines
3.0 KiB
C#
using System;
|
|
using System.Drawing;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Web.Mvc;
|
|
using System.Web.UI.DataVisualization.Charting;
|
|
using System.Web.UI.WebControls;
|
|
using LeafWeb.Core.Charter;
|
|
using LeafWeb.Core.CharterOld;
|
|
using LeafWeb.Core.Models;
|
|
using LeafWeb.Core.Parsers;
|
|
using LeafWeb.Web.Charter;
|
|
|
|
namespace LeafWeb.Web.Controllers
|
|
{
|
|
public class LeafCharterController : Controller
|
|
{
|
|
public ActionResult Index()
|
|
{
|
|
return View();
|
|
}
|
|
|
|
public ActionResult LeafCharts(int number)
|
|
{
|
|
var fileInfo = new FileInfo(@"C:\Users\poprhythm\Documents\code\LeafWeb\Core.Tests\Parsers\LeafOutputData\cntrlcomparison_Wild Capsicum.csv");
|
|
|
|
CntrlComparison[] cntrlComparison;
|
|
using (var parser = new CntrlComparisonParser(fileInfo))
|
|
cntrlComparison = parser.Parse();
|
|
|
|
var curveData = CurveDataConverter.Convert(cntrlComparison).ToArray();
|
|
|
|
var charts = LeafWebCharter.ProduceCharts(curveData[1]);
|
|
|
|
using (var ms = new MemoryStream())
|
|
{
|
|
charts.Skip(number).First().SaveImage(ms, ChartImageFormat.Png);
|
|
ms.Seek(0, SeekOrigin.Begin);
|
|
|
|
return File(ms.ToArray(), "image/png", "mychart.png");
|
|
}
|
|
}
|
|
|
|
public ActionResult LeafChartsOld(int number)
|
|
{
|
|
var fileInfo = new FileInfo(@"C:\Users\poprhythm\Documents\code\LeafWeb\Core.Tests\Parsers\LeafOutputData\cntrlcomparison_Wild Capsicum.csv");
|
|
var curveDataList = new CurveDataList();
|
|
using (var reader = fileInfo.OpenText())
|
|
{
|
|
curveDataList.ReadFromStream(reader);
|
|
}
|
|
var charts = LeafWebCharterOld.ProduceCharts(curveDataList.CurveData[1]);
|
|
|
|
using (var ms = new MemoryStream())
|
|
{
|
|
charts.Skip(number).First().SaveImage(ms, ChartImageFormat.Png);
|
|
ms.Seek(0, SeekOrigin.Begin);
|
|
|
|
return File(ms.ToArray(), "image/png", "mychart.png");
|
|
}
|
|
}
|
|
|
|
public ActionResult ChartSample()
|
|
{
|
|
var chart = new Chart
|
|
{
|
|
BackColor = Color.FromArgb(255, 255, 255),
|
|
Width = Unit.Pixel(250),
|
|
Height = Unit.Pixel(2500)
|
|
};
|
|
|
|
var series = new Series
|
|
{
|
|
ChartArea = "ca1",
|
|
ChartType = SeriesChartType.Line
|
|
};
|
|
|
|
//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");
|
|
}
|
|
}
|
|
}
|
|
} |