使用silverlight构建一个工作流设计器(十三)(动态生成流程图片下载_上)

首先庆祝一下源代码在codeplex上下载量超过1000

另外本演示程序放在微软免费的silverlight host上面,您也可以申请免费的空间。

地址在http://silverlight.live.com/

源代码下载:http://www.shareidea.net/opensource.htm

在线演示:http://www.shareidea.net/workflow.htm

视频教程: http://www.shareidea.net/video/sharedesigner/sharedesigner.html

9.1问题描述

今天有网友问,这个工作流设计器能不能生成对应的图片呢?我想不出生成图片能有什么作用,如果想用图片,我们大可以使用拷屏的方法保存到画图中,然后再保存在系统文件夹。不过作为一种尝试,不妨去试着去实现这个功能。

9.2遇到的困难

动态生成图片,首先想到的就是使用System.Drawring相关的类,但在silverlight中并没有提供对System.Drawring的支持,网上查了一下,得到的答案是微软并没有打算在silverlight中提供对System.Drawring的支持。

另外,在silverlight中无法直接进行文件的保存操作。

这些困难都说明,要想在silverlight中直接生成图片并保存,目前是不可行的。

9.3解决方法

虽然我们不能直接在silverlight中生成图片保存,但我们的目的的生成图片,至于在什么地方生成图片,并没有固定的要求。我们知道,在asp.net中,我们经常使用System.Drawring相关类在动态生成图片,这个方法提醒我们,可以将生成图片的方法延迟到后台的服务中,然后访问后台生成的图片即可。用下面的图片来表示整个流程。

上面是一个理想的执行过程,但是在实际应用中发现有疑点问题,就是在生成图片后回调silverlight的函数中无法打开一个新的网页。只能把打开网页的代码放在按钮点击事件中,不过这对用户来说没有任何影响,只不过我们需要多做一点工作而已。在下面的代码中体现了这一点不同。

时间: 2024-12-31 01:39:18

使用silverlight构建一个工作流设计器(十三)(动态生成流程图片下载_上)的相关文章

使用silverlight构建一个工作流设计器(十八)-持久化数据到数据库

使用silverlight构建一个工作流设计器(十八)-持久化数据到数据库-服务器段功能实现 17.3 服务器端代码实现 服务器端的功能是将数据保存到数据库,以及从数据库中取出xml描述文件返回给客户端.本文使用LINQ to SqClasses的方法对数据库进行操作.如下图所示,增加一个linq的类 然后在左边的数据库链接管理器中,增加一个数据库链接,如下图所示:

使用silverlight构建一个工作流设计器(十七)-持久化数据到数据库

使用silverlight构建一个工作流设计器(十七)-持久化数据到数据库-设计webservices接口 在开始之间,先说下程序增加的一个小功能,就是给容器增加网格线的功能,使得容器看上去类似下面的样子 当然可以有两种方法来实现,一种就是使用背景图片,但本文一贯的原色就是少用图片,多用silverlight的画图功能来实现,这些网格都可以使用xaml中的Line对象来实现.为此我们需要动态设定一个Canvas,然后把这些动态生成的Line对象添加到Canvas中,最后再把Canvas添加到容器

使用silverlight构建一个工作流设计器(十四)(动态生成流程图片下载_下)

源代码下载:http://www.shareidea.net/opensource.htm 在线演示:http://www.shareidea.net/workflow.htm 视频教程: http://www.shareidea.net/video/sharedesigner/sharedesigner.html 在上篇文章中,韦恩卑鄙提出了silverlight3.0版本中增加了本地动态生成图片的方法,我又搜索了一下,的确可以了,您可以访问http://developer.51cto.com

使用silverlight构建一个工作流设计器(十六)-持久化数据到数据库—数据库结构

16.1 数据结构 目前的流程信息没有保存到任何一个可持久化的环境中,根据网友建议,增加存储工作流xml文件的功能.这个功能使用数据库来实现,您也可以有更多的持久化方式. 根据工作流引擎的实现不同,有些引擎只需要xml文件配置就可以了,有些引擎需要建立数据库的模型.在本文中,假设工作流引擎是跟数据库相关的. 整个持久化流程是这样的: 从使用webservices从服务器下载相应的流程xml描述(或者新建一个流程) 在客户端使用流程设计器进行流程设计或者修改,此时任何修改都在本地完成 在用户点击保

使用silverlight构建一个工作流设计器(三)

本文配套源码 最新版本在线演示:http://219.153.66.61/wf 新功能调查:系统到这里已经具备一个设计器的雏形了,当然还有很多需要完善的功能,如果您在这方面有经验,请提出您的宝贵意见,也可以留下您想要实现的功能,在后续版本中,我们将考虑您的意见,非常感谢:) 本文继续前文的内容,主要讲述与导入xm,导出xm,xml存储有关的一些内容.包含以下部分: 设计一个流程图的xml描述文件 将流程图导出为xm 根据xml文件呈现流程图 在完成以上内容后,进一步深入思考,既然可以将流程的当前

使用silverlight构建一个工作流设计器(九)

源代码下载:http://www.shareidea.net/opensource.htm 在线演示:http://www.shareidea.net/workflow.htm 视频教程: http://www.shareidea.net/video/sharedesigner/sharedesigner.htm 本文源地址:http://www.cnblogs.com/chegan/archive/2009/05/10/1453457.htm 六 增强的用户体验功能 6.5 约束性检查 在用户

使用silverlight构建一个工作流设计器(四)

最新源代码下载:http://www.shareidea.net/opensource.htm 最新版本在线演示:http://www.shareidea.net/workflow.htm 按计划程序到这里就差不多结束了,但是有很多朋友希望能继续完善这个程序,并增加有关工作流属性的内容,应各位朋友要求,把这个系列继续下去,并增加流程属性的一些内容.工作流在现代企业中广泛应用,本文不强求完成一个大而全的流程应用,而是做一个框架类的东西,方便进行二次开发和扩展. 大家从前面的内容可以看出,本文很少直

使用silverlight构建一个工作流设计器(二十)-增加标签(上)

源代码下载:http://www.shareidea.net/opensource.htm 在线演示:http://www.shareidea.net/workflow.htm 视频教程: http://www.shareidea.net/video/sharedesigner/sharedesigner.html 今天把新增的标签功能说一下吧. 在规则中,为了对规则进行说明,可以给规则类增加一个TextBlack来对规则进行注释,之前的程序也是这么做的,如下图所示: 但是这样的注释有一个缺点,

使用silverlight构建一个工作流设计器(七)

最新源代码下载:http://shareidea.net/opensource.htm 最新版本在线演示:http://www.shareidea.net/workflow.htm 本章包括两部分内容,一个是在活动类上拖拽鼠标自动生成规则,另一个是网友的反馈,就是规则的端点不要在活动的中心,而要在活动的边缘. 五 美化 5.9 使用鼠标拖拽自动生成规则 本章内容将给系统增加一个非常好的用户体验功能.之前我们增加一个设置一个规则需要以下几个步骤: 点击 增加规则 按钮,添加一个规则到容器中. 拖动