知识大全 在ASP.NET中动态生成图形

Posted 图形

篇首语:早知今日读书是,悔作从前任侠非。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 在ASP.NET中动态生成图形相关的知识,希望对你有一定的参考价值。

在ASP.NET中动态生成图形  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   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( myChartData) Render BitMap Stream Back To Browser StockBitMap Save(Response OutputStream ImageFormat JPEG)

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

<%@ Page Language= VB ContentType= image/jpeg %>

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

<%@ Page Language= VB ContentType= image/jpeg %> <%@ OutputCache Duration= %>

  二 生成股票图形例程

  为了给你提供一个生成图形的完整举例 在这里包含了一个简单的股票图形生成样本代码 请注意其中股票的价格并不是真实的 只是我想象出来的 样本代码使用了一个定制的 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

cha138/Article/program/net/201311/15657

相关参考