如何让Silverlight支持图表转图片
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要介绍如何让Silverlight支持图表转图片,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!所以实现图表转图片可以分一下几步走.一.写一份WPF客户端程序思路很简单
千家信息网最后更新 2025年11月07日如何让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安全错误
数据库的锁怎样保障安全
美国有5g网络技术吗
区位码输入法软件开发
江门数字软件开发批发价
学习电脑和网络技术的视频
黄石网络安全支队
tb服务器时间校准
驱动开发转软件开发
软件开发做决算评审吗
网络安全的目标 基本特性
密码学与网络安全考试要点
u8数据库里没有新年度的数据库
软件开发到北京好找工作吗
传感器矢量数据库
服务器cpu 775
香港服务器做论坛
oracle数据库cdc用户
前程网络技术上海有限公司
数据库检索技术视频
开发一个数据库程序
软件开发预收启动款
cf服务器乱码加不了好友
惠普机架式服务器维修保养
性价比高的数据库水印溯源
黄石网络安全支队
杭州交警网络安全教育
服务器安全卡
生产服务器会变慢吗
传感器矢量数据库
w7服务器管理器怎么打开
武汉网络安全专业就业怎么样