none
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
    版主

全部回复