当前位置: 代码迷 >> ASP.NET >> Steema.TeeChart.Web.WebChart解决方案
  详细解决方案

Steema.TeeChart.Web.WebChart解决方案

热度:7736   发布时间:2013-02-25 00:00:00.0
Steema.TeeChart.Web.WebChart
怎么实现用C#代码,来以流形式导出CircularGauge的PNG图片?或者大侠们谁有Steema.TeeChart.Web.WebChart的帮助文档,我也好研究研究。

------解决方案--------------------------------------------------------
C# code
public class FileResult : ActionResult    {        #region Constructors        public FileResult(string fileName, string contentType, IEnumerable<byte> data)            : this(fileName, contentType, data, null)        {        }        public FileResult(string fileName, string contentType, IEnumerable<byte> data, IDictionary<string, string> headers)        {            this.FileName = fileName;            this.ContentType = contentType;            this.Data = data;            this.Headers = headers;        }        public FileResult(string fileName, string contentType, Encoding contentEncoding, IEnumerable<byte> data)            : this(fileName, contentType, contentEncoding, data, null)        {        }        public FileResult(string fileName, string contentType, Encoding contentEncoding, IEnumerable<byte> data, IDictionary<string, string> headers)            : this(fileName, contentType, data, headers)        {            this.ContentEncoding = contentEncoding;        }        public FileResult(string fileName, string contentType, string path)            : this(fileName, contentType, path, null)        {        }        public FileResult(string fileName, string contentType, string path, IDictionary<string, string> headers)        {            this.FileName = fileName;            this.ContentType = contentType;            this.Data = ReadBytes(path);            this.Headers = headers;        }        #endregion        IEnumerable<byte> ReadBytes(string path)        {            var stream = File.OpenRead(path);            var bytes = new byte[1024];            int n;            while ((n = stream.Read(bytes, 0, bytes.Length)) != 0)            {                for (int i = 0; i < n; i++)                {                    yield return bytes[i];                }            }        }        // Methods         public override void ExecuteResult(ControllerContext context)        {            if (context == null)            {                throw new ArgumentNullException("context");            }            HttpResponseBase response = context.HttpContext.Response;            response.Clear();            response.ClearContent();            if (!string.IsNullOrEmpty(this.ContentType))            {                response.ContentType = this.ContentType;            }            else            {            }            response.ContentEncoding = this.ContentEncoding ?? Encoding.Default;            if (!String.IsNullOrEmpty(this.FileName))            {                response.AppendHeader("content-disposition", "attachment; filename=" + this.FileName);            }            if (this.Headers != null)            {                foreach (var header in Headers)                {                    response.AppendHeader(header.Key, header.Value);                }            }            if (this.Data != null)            {                response.BinaryWrite(this.Data.ToArray());            }        }        // Properties         public IEnumerable<byte> Data { get; set; }        public string FileName { get; set; }        public Encoding ContentEncoding { get; set; }        public string ContentType { get; set; }        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]        public IDictionary<string, string> Headers { get; set; }    }        public FileResult GetTeeChart()        {            ………………………………………………//你要生成的图片代码            MemoryStream imageStream1 = new MemoryStream();            tChart2.Chart.Export.Image.PNG.Save(imageStream1);            return new FileResult("Yo.png", "image/png", imageStream1.ToArray());        }
  相关解决方案