使用silverlight构建一个工作流设计器(十三)(动态生成流程图片下载_上)
2009-05-31 11:39
856 查看
首先庆祝一下源代码在codeplex上下载量超过1000
另外本演示程序放在微软免费的silverlight host上面,您也可以申请免费的空间。
地址在http://silverlight.live.com/
技术支持QQ群:85444465
源代码下载:http://www.shareidea.net/opensource.htm
在线演示:http://www.shareidea.net/workflow.htm
视频教程: http://www.shareidea.net/video/sharedesigner/sharedesigner.html
本文系列索引:
使用silverlight构建一个工作流设计器(一)
使用silverlight构建一个工作流设计器(二)
使用silverlight构建一个工作流设计器(三)
使用silverlight构建一个工作流设计器(四)
使用silverlight构建一个工作流设计器(五)
使用silverlight构建一个工作流设计器(六)
使用silverlight构建一个工作流设计器(七)
使用silverlight构建一个工作流设计器(八)
使用silverlight构建一个工作流设计器(九)
使用silverlight构建一个工作流设计器(十)
使用silverlight构建一个工作流设计器(十一)
使用silverlight构建一个工作流设计器(十二)
使用silverlight构建一个工作流设计器(十三)
另外,在silverlight中无法直接进行文件的保存操作。
这些困难都说明,要想在silverlight中直接生成图片并保存,目前是不可行的。
Code
protected void Page_Load(object sender, EventArgs e)
{
string fileName = "";
if (Page.Request.QueryString["name"] != null)
fileName = Page.Request.QueryString["name"].ToString();
string filePath=Server.MapPath("~/picture/"+fileName+".png");
FileInfo info = null;
long size = 0;
info = new FileInfo(filePath);
int seconds = 0;
while (!info.Exists && seconds <5)
{
info = new FileInfo(filePath);
System.Threading.Thread.Sleep(1000);
seconds++;
}
if (info.Exists)
{
size = info.Length;
Response.ClearContent();
Response.ContentType = "image/png";
Response.WriteFile(filePath, 0, size);
Response.End();
}
Response.Write("您请求的图片不存在!");
}
到现在为止,一个动态生成流程图图片的框架就完成了,因为还没有编写具体的活动和规则的图片生成方法,所以只是生成一个显示文件名称的图片。下一章将具体完成生成图片的代码。
另外本演示程序放在微软免费的silverlight host上面,您也可以申请免费的空间。
地址在http://silverlight.live.com/
技术支持QQ群:85444465
源代码下载:http://www.shareidea.net/opensource.htm
在线演示:http://www.shareidea.net/workflow.htm
视频教程: http://www.shareidea.net/video/sharedesigner/sharedesigner.html
本文系列索引:
使用silverlight构建一个工作流设计器(一)
使用silverlight构建一个工作流设计器(二)
使用silverlight构建一个工作流设计器(三)
使用silverlight构建一个工作流设计器(四)
使用silverlight构建一个工作流设计器(五)
使用silverlight构建一个工作流设计器(六)
使用silverlight构建一个工作流设计器(七)
使用silverlight构建一个工作流设计器(八)
使用silverlight构建一个工作流设计器(九)
使用silverlight构建一个工作流设计器(十)
使用silverlight构建一个工作流设计器(十一)
使用silverlight构建一个工作流设计器(十二)
使用silverlight构建一个工作流设计器(十三)
9.1问题描述
今天有网友问,这个工作流设计器能不能生成对应的图片呢?我想不出生成图片能有什么作用,如果想用图片,我们大可以使用拷屏的方法保存到画图中,然后再保存在系统文件夹。不过作为一种尝试,不妨去试着去实现这个功能。9.2遇到的困难
动态生成图片,首先想到的就是使用System.Drawring相关的类,但在silverlight中并没有提供对System.Drawring的支持,网上查了一下,得到的答案是微软并没有打算在silverlight中提供对System.Drawring的支持。另外,在silverlight中无法直接进行文件的保存操作。
这些困难都说明,要想在silverlight中直接生成图片并保存,目前是不可行的。
9.3解决方法
虽然我们不能直接在silverlight中生成图片保存,但我们的目的的生成图片,至于在什么地方生成图片,并没有固定的要求。我们知道,在asp.net中,我们经常使用System.Drawring相关类在动态生成图片,这个方法提醒我们,可以将生成图片的方法延迟到后台的服务中,然后访问后台生成的图片即可。用下面的图片来表示整个流程。Code
protected void Page_Load(object sender, EventArgs e)
{
string fileName = "";
if (Page.Request.QueryString["name"] != null)
fileName = Page.Request.QueryString["name"].ToString();
string filePath=Server.MapPath("~/picture/"+fileName+".png");
FileInfo info = null;
long size = 0;
info = new FileInfo(filePath);
int seconds = 0;
while (!info.Exists && seconds <5)
{
info = new FileInfo(filePath);
System.Threading.Thread.Sleep(1000);
seconds++;
}
if (info.Exists)
{
size = info.Length;
Response.ClearContent();
Response.ContentType = "image/png";
Response.WriteFile(filePath, 0, size);
Response.End();
}
Response.Write("您请求的图片不存在!");
}
到现在为止,一个动态生成流程图图片的框架就完成了,因为还没有编写具体的活动和规则的图片生成方法,所以只是生成一个显示文件名称的图片。下一章将具体完成生成图片的代码。
相关文章推荐
- 使用silverlight构建一个工作流设计器(十四)(动态生成流程图片下载_下)
- 使用silverlight构建一个工作流设计器(九)(附源代码下载、在线演示、视频教程)
- 使用silverlight构建一个工作流设计器(十)(附源代码下载、在线演示、视频教程)
- 使用silverlight构建一个工作流设计器(十一)(附源代码下载、在线演示、视频教程)
- 使用silverlight构建一个图形化流程设计器(二)(附源代码下载及在线演示)
- 使用silverlight构建一个工作流设计器(八)(附源代码下载、在线演示、视频教程)
- 使用silverlight构建一个工作流设计器(三)(附最新源代码下载及在线演示)
- 使用silverlight构建一个图形化流程设计器(一)(源代码下载及在线演示)
- 使用silverlight构建一个工作流设计器(十二)(附源代码下载、在线演示、视频教程)
- 使用silverlight构建一个工作流设计器(十八)-持久化数据到数据库—服务器段功能实现
- 使用silverlight构建一个工作流设计器(二十一)-增加标签(下)
- 使用silverlight构建一个工作流设计器(五)(附最新源代码及在线演示)
- 使用silverlight构建一个工作流设计器(七)(附最新源代码及在线演示)
- 使用silverlight构建一个工作流设计器(四)(附最新源代码及在线演示)
- 使用silverlight构建一个工作流设计器(六)(附最新源代码及在线演示)
- 使用silverlight构建一个工作流设计器(十五)(缩放流程图)
- 使用silverlight构建一个工作流设计器(十七)-持久化数据到数据库—设计webservices接口
- 使用silverlight构建一个工作流设计器(二十)-增加标签(上)
- 使用silverlight构建一个工作流设计器(十九)-规则与活动的交点的平滑移动
- 使用silverlight构建一个工作流设计器(十六)-持久化数据到数据库—数据库结构