如何让Silverlight支持图表转图片
发表于:2024-12-01 作者:千家信息网编辑
千家信息网最后更新 2024年12月01日,这篇文章主要介绍如何让Silverlight支持图表转图片,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!所以实现图表转图片可以分一下几步走.一.写一份WPF客户端程序思路很简单
千家信息网最后更新 2024年12月01日如何让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安全错误
数据库的锁怎样保障安全
华硕4u服务器
网络技术学院APP
计算机网络技术本科要多少分
互联网 网络技术考试题目
网络技术对数学有什么要求
带数据库的邮箱客户端
电脑连别人家的网络安全吗
上海喔刷互联网科技有限公司
网络安全技能竞赛 wp
加工数据库表格制作
完美平台连不上服务器csgo
计算机网络安全原则
智明达软件开发笔试
ad域服务器时间同步
网络安全是什么意思啊
word文档的数据库
什么文化能学习软件开发
南京江宁网络安全
服务器虚拟化技术比较
ios软件开发获取定位授权
钱德森数据库
远程服务器为什么电脑卡住
数据库如何精准确定时间范围
联机服务器图片
数据库主键编号应该是什么类型
山东省网络技术单招学校
小型财务软件开发
软件开发著作权的归属
t6提示还是以前版本数据库
工业互联网平台选汉脑科技