webdn
 
  首页     免费截图     VIP会员区     广告Banner     技术文档     网站模板  
网站截图,网站每日新 !
虚拟主机
网页模板

首页 >> WebDN 文档 >> 网络编程 >> ASP.net教程>> 第29页 >> ASP.Net:System.Drawing功能描述

 

ASP.Net:System.Drawing功能描述

【摘 要】 利用GDI+绘制图形时候,使用的是System.Drawing名称空间下重要类:Graphics类。本节我们讲通过实例模拟现在网站流行的随机验证码功能。
利用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运行结果



电话咨询:010-60520722 QQ咨询:3792656   |   583696287   |   66733350 关于WebDN  |  站点地图  |  联系我们  |  支付方式  |  友情链接
© 2004-2008 WebDN.com 版权所有. 沪ICP备05040479号