在asp.net中动态生成图片_在ASP.NET中动态生成图形

更新时间:2017-07-15 来源:软件评测 点击:

【www.hzclsc.cn--软件评测】

 .NET有一个很灵巧的特性,就是可以编写代码生成动态图形,然后将生成的图形保存在磁盘上或者直接将其发送到客户端的浏览器。 


原理用.NET生成图形的功能封装在System.Drawing名称空间中,它支持多种图形文件格式,包括:JPEG、GIF、PNG、TIFF、BMP、PhotoCD、FlashPIX、WMF、EMF和EXIF。 



创建这些图形的通用机制是构造一个BitMap(位图)对象,它为要创建的图形提供了内存空间。然后,就可以调用它的“Save”方法,将其保存在磁盘,或者将其发送到任何.NET的输出流中。ASP.NET通过Response.OutputStream属性揭示.NET输出流,这意味着你可以直接将图形的内容发送到浏览器,而不用将其保存到磁盘中。 



例如,在VB中,可以编写这样的代码: 



" Create In-Memory BitMap of JPEG 
Dim MyChartEngine as New ChartEngine 
Dim StockBitMap as BitMap = MyChartEngine.DrawChart(600, 400, myChartData) 
" Render BitMap Stream Back To Browser 
StockBitMap.Save(Response.OutputStream, ImageFormat.JPEG) 



如果用的是一个ASPX页面实现这个目的,就要同时设置适当的HTTP ContentType(内容类型)头文件,这样浏览器就不会将页面内容解释为html,而是解释为一个图形。可以通过代码设置Response.ContentType属性,或者是在顶层页面指令上设置新的“ContentType”属性来实现这一点: 



 

 



注意:ASP.NET的输出缓存功能对文本内容和二进制输出都奏效。这样,如果你正在从一个页面动态生成图形,就可以很容易地使用输出缓存指令,从而避免在各个请求上都重新生成图形。要注意图形的生成有可能是很麻烦的,因此我强烈推荐你使用这一功能。比如,可以用下面的指令每隔60秒对生成的图形进行输出缓存: 

生成股票图形例程 



为了给你提供一个生成图形的完整举例,在这里包含了一个简单的股票图形生成样本代码。请注意其中股票的价格并不是真实的,只是我想象出来的。样本代码使用了一个定制的“ChartEngine”类,它可以将建立一个普通图形所要求的逻辑封装起来。你应该可以使用这个组件来制作任何定制图形,它并不是只局限于股票数据的。 



在样本代码中,随便你想要使用哪些都可以,想要怎样使用都可以,也可以随便将其贴在文章的任何地方,以及其它样本中。 



要想运行这个样本,将以下内容分别保存为文件放到IIS的一个应用程序Vroot下:请看源码。 
然后,在命令行中键入以下语句: 



mkdir bin 
csc /t:library /out:bin\chartgen.dll ChartEngine.cs /r:System.Web.dll /r:System.Winforms.dll /r:System.Drawing.dll
/r:System.dll 



chartengine被编译后,点击StockPicker.aspx页面运行这个样本。这样,也就设置了一个指向ImageGenerator_VB.aspx 页面的标记,就是它来进行实际的图形生成工作。
 

本文来源:http://www.hzclsc.cn/ruanjianzixun/470.html

为您推荐

[rainway什么意思]Rainway软件下载地址 rainway串流switch软件在哪下载

您的位置:首页 → 单机游戏 → 游戏资讯 → Rainway软件下载地址 rainway串流switch软件在哪下载 Rainway软件下载地址 rainway串流switch软件在哪下载时间:20游戏资讯

2020-12-16 11:04:57  

苹果电脑安全性偏好设置_苹果电脑安全漏洞是什么 苹果电脑安全漏洞无需密码解锁解决办法

就在近日,有用户发现苹果电脑出现了一个重大的安全漏洞,不需要输入密码即可进入系统,但是很多用户都还不知道苹果电脑安全漏洞是什么,好奇的用户马上点击查看苹果电脑安全漏洞无需密码解锁解决办法来防范于未然教你一招

2020-12-10 23:05:05   电脑安全软件   电脑安全证书过期怎么办   顺丰寄电脑安全吗  

【nero】Nelo游戏配置要求高吗 Nelo推荐配置一览

Nelo游戏配置要求高吗?Nelo是一款由虚幻4打造的超快节奏的动作游戏,玩家可以使用四种武器形成各式各样的攻击方式,本文为大家带来Nelo售价和配置要求介绍,下面就一起来看看Nelo推荐配置一览吧。游戏资讯

2020-12-10 11:04:41   nero8中文破解版   nero刻录软件   nero10序列号  

抢红包神器抢最大的_抢红包怎么抢最大的 抢红包助手下载哪个好

时近年末,相信大家的“节目单”上除了与好友聚会叙旧、与客户更加频繁地应酬之外,还有一项必不可少的活动,那就是抢红包。记得木心有首现代诗中是这样写的,“从前的日色变得慢,车马、信件都很慢 ”的软件评测

2020-12-09 17:04:22   抢红包怎么能抢最大的   抢红包最大金额软件  

[wegame修复游戏在哪里]腾讯wegame怎么修复游戏 wegame平台修复游戏教程

您的位置:首页 → 资讯 → 游戏软件 → 腾讯wegame怎么修复游戏 wegame平台修复游戏教程 腾讯wegame怎么修复游戏 wegame平台修复游戏教程时间:2017 10 20 16:00游戏软件

2020-12-04 07:04:50   wegame游戏修复在哪里   wegame如何修复游戏