文章导航绿软下载站软件下载安卓资源苹果资源专题

您当前所在位置:首页网络编程.Net编程 → ASP.Net:System.Drawing的使用

ASP.Net:System.Drawing的使用

时间:2015/6/28来源:IT猫扑网作者:网管联盟我要评论(0)

  利用GDI+绘制图形时候,使用的是System.Drawing名称空间下重要类:Graphics类.本节我们讲通过实例模拟现在网站流行的随机验证码功能.功能描述:在生成的的图片上,随机显示几位数字或字幕,用于用户输入操作.

    在GDITec Web应用程序里,添加一个Web窗体,命名为GDI_Sample2.aspx,我们来设计逻辑代码:

    -----code begin-----
    Imports System.Drawing
    Imports System.Drawing.Bitmap
    Imports System.Drawing.Graphics
    Imports System.Drawing.Imaging
    Public Class GDI_Sample2
    Inherits System.Web.UI.Page
    #Region Web 窗体设计器生成的代码
    此处省略啦窗体设计器生成的代码
    #End Region
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    在此处放置初始化页的用户代码
    Dim objBitmap As Bitmap
    Dim i As Integer
    声明随机种子,用来随机产生1000个象素点的坐标
    Dim objRandom As Random
    声明画布对象
    objBitmap = New Bitmap(150, 50)
    声明Graphics对象
    Dim objGraphics As Graphics
    指定画布
    objGraphics = Graphics.FromImage(objBitmap)
    设置背景
    objGraphics.Clear(Color.Violet)
    声明随机种子
    objRandom = New Random
    生成随机的500掺杂点
    For i = 1 To 500
    objBitmap.SetPixel(objRandom.Next(150), objRandom.Next(50), Color.Snow)
    objBitmap.SetPixel的方法是绘制点,参数3个,分别是X,Y ,Color
    Next
    For i = 1 To 5
    声明并定义字体,字体大小在10-25之间随机
    Dim objfont As Font = New Font(宋体, objRandom.Next(10, 35), FontStyle.Bold)
    objGraphics.DrawString(Chr(objRandom.Next(Asc(A), Asc(Z))), objfont, Brushes.Black, 30 * (i - 1), objRandom.Next(20))
    objGraphics.DrawString(的重载有6种,上句中的参数分别是字符串,字体,画笔,X,Y
    Next
    声明画笔对象,
    Dim objpen As Pen
    生成5条随机的彩线,对生成的8个字符上面画线
    For i = 1 To 8
    实例化画笔,并设置随机生成画笔颜色,定义画笔笔触大小为1个象素
    objpen = New Pen(Color.FromArgb(objRandom.Next(255), objRandom.Next(255), objRandom.Next(255)), 1)
    objGraphics.DrawLine(objpen, objRandom.Next(150), objRandom.Next(50), objRandom.Next(150), objRandom.Next(50))
    objgraphics.DrawLine 共有4种重载函数,这里我们使用的四个参数分别是画笔,X1,Y1,X2,Y2
    Next
    将objGraphics对象以指定的图形格式(这里是Gif)保存到指定的Stream对象,并输出到客户端.
    objBitmap.Save(Response.OutputStream, Drawing.Imaging.ImageFormat.Gif)
    End Sub
    End Class
    -----code end ------

   保存编译后,运行结果如图11.2所示.

点此在新窗口浏览图片
图11.2 GDI_Sample2.aspx运行结果


    如果要在应用程序用使用GDI_Sample2.aspx生成图片的功能,必须有另外一个Web页面引用.

 

    我们再新建一个Web页面,命名为GDI_Sample3.aspx,添加一个Image控件,设置Image控件的属性:

    <asp:Image id=Image1 runat=server Width=141px Height=51px

    ImageUrl=GDI_Sample2.aspx

    ></asp:Image>

    将GDI_Sample3.aspx保存编译后,预览如图11.3所示.

点此在新窗口浏览图片
图11.3 GDI_Sample3.aspx运行结果

关键词标签:使用,objRandom.Next,

相关阅读 网络嗅探教程:使用Sniffer Pro监控网络流量(1)MYSQL使用错误 MYSQL中ERROR 1006学习使用ASP对象和组件了解使用ASP.NET的脚本语言Oracle密码文件的使用和维护在Linux下安装和使用MySQL

文章评论
发表评论

热门文章 在.NET环境下为网站增加IP过滤功能在.NET环境下为网站增加IP过滤功能用Asp.net扩展ExtJS用Asp.net扩展ExtJS手把手教你用好LINQ to SQL手把手教你用好LINQ to SQLAsp.net关于动态输出服务器控件的应用Asp.net关于动态输出服务器控件的应用

相关软件 《PHP100视频教程》二十七:PHP模板引擎Smarty入门使用 06.案例-使用jsp完成简单的登陆程序.IT电子教育门户JAVA-web培训视频教程 13.案例-使用jsp基于数据库完成用户登陆程序.IT电子教育门户JAVA-web培训 18.案例-使用jsp+DAO完成用户登陆.IT电子教育门户JAVA-web培训视频教程 20.SmartUpload使用.IT电子教育门户JAVA-web培训视频教程 2003 服务应用大全之DHCP服务使用详解-Windows 2003从入门到精通11 2003 服务应用大全之DNS服务使用详解-Windows 2003从入门到精通10 2003 服务应用大全之WINS服务使用详解-Windows 2003从入门到精通12

人气排行 asp.net表单提交方法GET\POST在ASP.NET中如何判断用户IE浏览器的版本Asp.net中messagebox的实现方法Asp.net中的web.config配置在ASP.NET MVC中实现大文件异步上传c#.Net经典面试题目用Asp.net扩展ExtJSasp.net获取URL和IP地址