如何让Silverlight支持图表转图片
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍如何让Silverlight支持图表转图片,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!所以实现图表转图片可以分一下几步走.一.写一份WPF客户端程序思路很简单
千家信息网最后更新 2026年10月31日如何让Silverlight支持图表转图片
这篇文章主要介绍如何让Silverlight支持图表转图片,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

所以实现图表转图片可以分一下几步走.
一.写一份WPF客户端程序
思路很简单
1.1定义一个定时器,然后检测某目录的xml文件,这里暂定目录名字为chart
timer = new DispatcherTimer(); timer.Interval = new TimeSpan(0, 0, 2); timer.Tick += new EventHandler(timer_Tick); timer.Start(); void timer_Tick(object sender, EventArgs e) { string[] files = System.IO.Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory + "chart"); if (files.Length > 0) { } }1.2如果有的话,则进行反序列化成Chart对象进行呈现
void timer_Tick(object sender, EventArgs e) { string[] files = System.IO.Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory + "chart"); if (files.Length > 0) { LoadXml(files[0]); } } private void LoadXml(string xmlFile) { XmlDocument doc = new XmlDocument(); doc.Load(xmlFile); StringReader stringReader = new StringReader(doc.InnerXml); XmlReader xmlReader = XmlReader.Create(stringReader); Chart chart = XamlReader.Load(xmlReader) as Chart; chart.AnimationEnabled = false; stringReader.Close(); xmlReader.Close(); this.Content=chart; }1.3呈现好以后进行截图
void timer_Tick(object sender, EventArgs e) { string[] files = System.IO.Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory + "chart"); if (files.Length > 0) { LoadXml(files[0]); PrintPicture(files[0]); } } private void PrintPicture(string fileName) { this.Dispatcher.BeginInvoke(new Action(() => { int Height = (int)this.ActualHeight; int Width = (int)this.ActualWidth; RenderTargetBitmap bmp = new RenderTargetBitmap(Width, Height, 96, 96, PixelFormats.Pbgra32); bmp.Render(this); string file = "C:\\temp\\a.jpg"; BitmapEncoder encoder; encoder = new JpegBitmapEncoder(); encoder.Frames.Add(BitmapFrame.Create(bmp)); using (Stream stm = File.Create(file)) { encoder.Save(stm); } File.Delete(fileName); }), System.Windows.Threading.DispatcherPriority.Render); }1.4转换成图片完毕则删除此xml文件
二.将编译好的wpf程序放置在web根目录,然后启动此程序
三.使用ajax交互将当前显示出来的xml传送到chart目录下
前端
$.ajax({ type: "POST", url: "ajaxServer.aspx", data: "name=" + vChart.dataUri, success: function(msg) { alert("Success"); } });后端
拷贝xml文件或者其他处理方式把xml弄到chart目录下
protected void Page_Load(object sender, EventArgs e) { File.Copy(Server.MapPath(this.Request["name"]), Server.MapPath("../chart/" + this.Request["name"])); }注意点:转换的时候注意wpf和silverlight的命名空间.也算是一个方法,对付图表生成图片是绰绰有余的.
以上是"如何让Silverlight支持图表转图片"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
图片
图表
目录
文件
程序
支持
内容
篇文章
绰绰有余
价值
兴趣
前端
名字
定时器
客户
客户端
对象
小伙
小伙伴
序列
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技工作委员会
科技互联网龙头
港股互联网科技股
西安互联网科技
互联网 卓越科技
奇酷互联网科技
奔汉互联网科技
大白互联网科技
互联网科技咨询
国外互联网科技网站
富国互联网科技创新基金
团飞科技与伯堂互联网服务平台
受益于互联网科技的高速发展
互联网公司科技股
湖南一路畅行互联网科技
互联网科技公司有风险吗
四川互联网展示科技馆设计
吉林省码上互联网科技电话
现代互联网科技公司
承德科技产业互联网平台
互联网科技网
金诺互联网科技
紫鲸互联网科技
深圳齐家互联网科技
西安互联网科技公司
明优互联网科技有限公司
每天都有哪些好的互联网科技
城市宝互联网科技有限公司
吉林省码上互联网科技电话
山东亿川互联网科技有限责任公司