注册 登录 找回密码 回收站 在线 帮助 首页 Blog 繁體中文欢迎 访问本论坛

穆穆族论坛 » 拓 眼 电 脑 » [ 电脑网络 ] » ASP.NET图象处理详解 ASP.NET 空间介绍

本主题共有1张帖子, 被点击1116次 查看上一个主题  查看下一个主题  发表新主题  发布新投票  发表回复
ASP.NET图象处理详解 ASP.NET 空间介绍

webn
 
 
级别:  
侠客
标识:  
来自:  
 
  功能按钮:   查看用户档案   email:df@sfd.com     短消息      以树型方式查看   刷新   加入到私人收藏   修改帖子   删除   引用回复   发表回复   


ASP.NET图象处理详解 ASP.NET 空间介绍

ASP.NET图象处理详解  ASP.NET 空间介绍

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

   一、System.Drawing的使用 

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

  我们先来看看效果: 
 

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

<%@ page language="vb" contenttype="image/jpeg" %> 
<%@ import namespace="system.drawing" %> 
<%@ import namespace="system.drawing.imaging" %> 
<%@ import namespace="system.drawing.drawing2d" %> 

<% 
'清空Response 
response.clear 

'建立一个120*30大小,24bit的BMP图象; 
dim imgOutput as New bitmap(120, 30, pixelformat.format24bpprgb) 

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

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

g.drawString("看见了吗?", New font("黑体",16,fontstyle.bold),new SolidBrush(Color.White),New pointF(2,4)) 

g.FillRectangle(New linearGradientBrush(New point(0,0), New point(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可能不敢想的效果。


无所谓 2005-10-13 14:21:54




 时间:2005/10/13 13:17:13
    注册: 2005-10   发帖: 1  积分: 2   状态: offline   1楼 
1:  1 

主题管理:  删除  关闭/取消  移动  复制  置顶/取消  精华/取消  刷新统计  编辑主题


快速回复
标题:

内容:
选项: 使用我的个性签名 自动识别URL地址 使用XB代码 使用表情符号
(Ctrl+Enter快速发帖)



用户的言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2001- U6U8.Net Powered by SF v2.0