locked
SilverLight图表控件做出的统计图怎么保存成本地图片? RRS feed

  • 问题

  • SilverLight图表控件做出的统计图怎么保存成本地图片?
    网上相关资料说把图片弄成流传到后台,在转换。canvas里的图表怎么能弄成流呢?
    怎么转换?

    比如 <Canvas x:Name="can" >
                <Grid x:Name="ccc" Background="Pink">
                    <charting:Chart Title="学校得分" x:Name="line"></charting:Chart>
                </Grid>
    </Canvas>

    怎么把这里的这个图表统计出来的 保存成图片到本地呢?
    2009年3月25日 3:25

答案

  • 保存到本地图片由于Silverlight 不支持截屏操作,所以需要以下步骤

    1. Chart形成图片
    2.将形成图片的算法,按照像素列的方式存放在一个Buffer中(即点像素序列)
    3.想要保存何种格式的图片(png jpg)再按照这些格式的编码规范将点像素序列进行编码(这里可以去网上找一下 相对应的文件格式编码解码说明)
    4.回传至Server段保存图片,并返回生成地址
    5.前台显示图片下载地址

    这里需要楼主自己写两个大一点的算法(大概1000行左右)
    1根据你的Chat列值生成点像素序列的方法(Chat是一个开源的项目,可以看其源码,找相关逻辑)
    2根据点像素序列进行特定格式的编码(可以在网上搜文件格式说明以及编码解码规范,网上有一些已经写好的程序,但多为C或Java的也需要翻译)

    2009年4月23日 4:49

全部回复

  • Silverlight本身还不支持你要的这种功能,你可以通过WebService来实现,然后用Silverlight调用它,如果还不明白可以跟贴

    My blog: http://blog.csdn.net/dotfun http://dotfun.cnblogs.com

    My contact: QQ:372900288 E-mail:372900288@qq.com msn:sellnet007@hotmail.com

    2009年3月25日 7:06
  • 谢谢风云,我知道他本身不支持。现在我的项目里是 有了一个 wcf的 服务了。
    那在xaml.cs页里 怎么把 这个容器里的 图表 给传到 服务 ,通过服务在 保存呢?
    现在 sl项目已经 引用了 这个服务了
    在 Service1.svc 怎么弄呢

    2009年3月25日 7:13
  • 明白,你加我QQ,我给你传一个写好的控件和源代码

    My blog: http://blog.csdn.net/dotfun http://dotfun.cnblogs.com

    My contact: QQ:372900288 E-mail:372900288@qq.com msn:sellnet007@hotmail.com

    2009年3月25日 7:19
  • 还是没解决·········
    2009年3月25日 8:07
  • 呵呵,那个是视频的载图

    My blog: http://blog.csdn.net/dotfun http://dotfun.cnblogs.com

    My contact: QQ:372900288 E-mail:372900288@qq.com msn:sellnet007@hotmail.com

    2009年3月26日 3:20
  • 笨办法,可以先用.net截屏功能先截整个一个屏幕,然后再处理一下。

    My blog: http://blog.csdn.net/dotfun http://dotfun.cnblogs.com

    My contact: QQ:372900288 E-mail:372900288@qq.com msn:sellnet007@hotmail.com

    • 已标记为答案 Yi-Lun Luo 2009年3月31日 10:04
    • 取消答案标记 相当硬 2009年4月1日 9:03
    2009年3月31日 2:43
  • 笨办法,可以先用.net截屏功能先截整个一个屏幕,然后再处理一下。

    My blog: http://blog.csdn.net/dotfun http://dotfun.cnblogs.com

    My contact: QQ:372900288 E-mail:372900288@qq.com msn:sellnet007@hotmail.com


    就算是 截屏,但是后期 处理 这个图片 还是 有问题的 唉
    2009年4月1日 9:04
  • 嗯,处理起来是比较麻烦的,需要有规律性

    My blog: http://blog.csdn.net/dotfun http://dotfun.cnblogs.com

    My contact: QQ:372900288 E-mail:372900288@qq.com msn:sellnet007@hotmail.com

    2009年4月1日 10:10
  • 能给我发一个吗谢谢 。22092440@qq.com
    2009年4月3日 4:06
  • 保存到本地图片由于Silverlight 不支持截屏操作,所以需要以下步骤

    1. Chart形成图片
    2.将形成图片的算法,按照像素列的方式存放在一个Buffer中(即点像素序列)
    3.想要保存何种格式的图片(png jpg)再按照这些格式的编码规范将点像素序列进行编码(这里可以去网上找一下 相对应的文件格式编码解码说明)
    4.回传至Server段保存图片,并返回生成地址
    5.前台显示图片下载地址

    这里需要楼主自己写两个大一点的算法(大概1000行左右)
    1根据你的Chat列值生成点像素序列的方法(Chat是一个开源的项目,可以看其源码,找相关逻辑)
    2根据点像素序列进行特定格式的编码(可以在网上搜文件格式说明以及编码解码规范,网上有一些已经写好的程序,但多为C或Java的也需要翻译)

    2009年4月23日 4:49
  • 你可以试试Silverlight 3.0的控件截屏功能!应该能达到你的要求!呵呵

    My blog: http://blog.csdn.net/dotfun http://dotfun.cnblogs.com

    My contact: QQ:372900288 E-mail:372900288@qq.com msn:sellnet007@hotmail.com

    2009年4月23日 8:06