当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > ASP.NET图象处理详解(1)

ASP.NET
如何在ASP.NET中使用SmtpMail发送邮件
在VB.NET中利用Split和Replace函数计算字数
Attribute应用:简化ANF自定义控件初始化过程
ASP.NET 2.0移动开发入门之使用样式
ASP.NET 2.0中使用OWC生成图表
ASP.NET 2.0中控件的简单异步回调
一个无法捕获ADO.NET Dataset的内存错误
深入解读ADO.NET2.0的十大最新特性
.Net平台下的分布式缓存设计
ASP.NET全局异常处理浅析
ASP.NET 2.0中文验证码的实现
浅析.NET平台编程语言的未来走向
.net 框架程序设计收藏
使用ASP.NET MVC Futures 中的异步Action
详解.NET中的XmlReader与XmlWriter
关于.NET中的Server push技术
asp.net页面执行机制
对比JSP和ASP.NET的存储过程
.NET 4.0不会包含System.Shell.CommandLine
ASP.NET十个有效性能优化的方法

ASP.NET图象处理详解(1)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 96 ::
收藏到网摘: n/a

在使用ASP的时候,我们时常要借助第三方控件来实现一些图象功能。而现在,ASP.NET的推出,我们已经没有必要再使用第三方控件来实现,因为ASP.NET已经具有强大的功能来实现一些图象处理。现在,我们就来看看怎样使用ASP.NET的这一强大功能。

一、System.Drawing的使用

以下的举例将演示在内存中生成一张图片,然后,将这张图片通过网页显示出来。需要了解的是,我们这里输出的不是HTML效果,而是实实在在的图片(图象),我们可以使用“另存为…”将输出图象保存起来。

我们先来看看效果:

我们看到,这张图片是一个渐变背景上有“看见了吗”几个字,当然,这个效果在PhotoShop等图象处理软件里面很容易实现,但是,一些与数据库结合的应用我们不可能将所有图片都事先设计出来,这时候,利用ASP.NET来实现这些功能就显得很重要了。我们来看源代码:

<%@pagelanguage="vb"contenttype="image/jpeg"%>
<%@importnamespace="system.drawing"%>
<%@importnamespace="system.drawing.imaging"%>
<%@importnamespace="system.drawing.drawing2d"%>

<%
'清空Response
response.clear

'建立一个120*30大小,24bit的BMP图象;
dimimgOutputasNewbitmap(120,30,pixelformat.format24bpprgb)

'根据以上BMP建立一个新图象;
dimgasgraphics=graphics.fromimage(imgOutput)

g.clear(color.Green)
g.smoothingMode=smoothingMode.antiAlias

g.drawString("看见了吗?",Newfont("黑体",16,fontstyle.bold),newSolidBrush(Color.White),NewpointF(2,4))

g.FillRectangle(NewlinearGradientBrush(Newpoint(0,0),Newpoint(120,30),color.fromArgb(0,0,0,0),color.fromArgb(255,255,255,255)),0,0,120,30)

imgOutput.save(response.outputstream,imageformat.jpeg)

g.dispose()
imgOutput.dispose()
response.end
%>


在以上代码中,我们看到和数据库程序不同,这里专门引入了图象处理的名字空间system.drawing等。程序首先清空了Response,确保没有输出;然后,程序建立了一个120乘30大的BMP图象,再在这个基础上建立一个新图象,建立图象以后,我们首先“画”出了字符串“看见了吗”,该字符串为16大粗黑体,颜色为白色,位置为(2,4);最后,我们实现渐变效果。

以上举例很简单,但是如果和数据库结合,我们可以实现很多使用ASP可能不敢想的效果。