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

ASP.NET
ASP.NET开发:简化应用程序的开发支持Web标准
asp.net XMLHttpRequest实现用户注册前的验证
asp.net 页面间传值方法小结
asp.net url重写浅谈
asp.net 验证码生成和刷新及验证
C#精髓 GridView72大绝技 学习gridview的朋友必看
实例说明asp.net中的简单角色权限控制
asp.net网站开发包wq.dll打包下载
js与ASP.NET 中文乱码问题
asp.net checkbox 动态绑定id GridView删除提示
asp.net TextBox回车触发事件 图片在img显示
asp.net 脏字典过滤问题 用正则表达式来过滤脏数据
asp.NET 脏字过滤算法
asp.NET 脏字过滤算法 修改版
asp.net sql 数据库处理函数命令
asp.net Javascript 的几种写法与提示
ASP.NET MVC学习笔记
asp.net 中国身份证号码验证代码 非正则
Asp.net中使用Sqlite数据库的方法
asp.net 中文字符串提交乱码的解决方法

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 222 ::
收藏到网摘: 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可能不敢想的效果。