惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
博客园_首页
M
MIT News - Artificial intelligence
月光博客
月光博客
WordPress大学
WordPress大学
Google DeepMind News
Google DeepMind News
Y
Y Combinator Blog
The Cloudflare Blog
D
Docker
阮一峰的网络日志
阮一峰的网络日志
L
LangChain Blog
Engineering at Meta
Engineering at Meta
Last Week in AI
Last Week in AI
Vercel News
Vercel News
MyScale Blog
MyScale Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Martin Fowler
Martin Fowler
U
Unit 42
Stack Overflow Blog
Stack Overflow Blog
A
About on SuperTechFans
The Register - Security
The Register - Security
B
Blog
Recorded Future
Recorded Future
J
Java Code Geeks
Recent Announcements
Recent Announcements
Microsoft Security Blog
Microsoft Security Blog
H
Help Net Security
F
Fortinet All Blogs
B
Blog RSS Feed
Project Zero
Project Zero
The Hacker News
The Hacker News
T
Threatpost
D
Darknet – Hacking Tools, Hacker News & Cyber Security
L
LINUX DO - 热门话题
Jina AI
Jina AI
宝玉的分享
宝玉的分享
云风的 BLOG
云风的 BLOG
AWS News Blog
AWS News Blog
G
Google Developers Blog
GbyAI
GbyAI
S
Securelist
T
Tenable Blog
博客园 - 【当耐特】
Security Latest
Security Latest
人人都是产品经理
人人都是产品经理
T
Tor Project blog
Latest news
Latest news
P
Proofpoint News Feed
T
The Blog of Author Tim Ferriss

博客园 - 境☆静☆净

VB.NET和C#的语法区别 在Repeater控件中创建可隐藏区域 VS.NET常见错误及解决方法 使用VS.NET中遇到的问题:分析器错误信息: 未能加载类型 - 境☆静☆净 - 博客园 中客网到底值不值800万 专家称前景随博客走 哈佛又出facebook“比尔·盖茨”第2 MBA经典故事 CuteEditor 5.0 的使用 automation服务器不能创建对象 (转)ebay带给web2.0的启示 XP+SP2里查看缩略图功能看不到图像文件的缩略图的解决办法 (转)小偷程序原理和简单示例 AJAX(Asynchronous JavaScript and XML) 看"friends"学英语口语, 强烈推荐 SQL Server连接失败错误及解决 google的一些入口 带有DLL扩展名的文件 (转)2005年最佳Web2.0软件大盘点 (转贴)几个有意思的网站
Asp.Net生成验证码(vb)
境☆静☆净 · 2006-06-20 · via 博客园 - 境☆静☆净

今天看到一篇生成验证码的文章,试了一下,出来的效果图为,出来的图片背景比较单一,但作者代码写得比较清楚易懂,文章链接: Asp.Net生成验证码(vb) 
gif.aspx           该文件用于生成验证码 
validatecode.aspx  该文件用来测试验证码的使用
gif.aspx的完整代码

Imports System.IO
Imports System.Drawing
Imports System.Drawing.Imaging
Public Class gif
    
Inherits System.Web.UI.Page

Web 窗体设计器生成的代码

    
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        
'在此处放置初始化页的用户代码
        'rndnum是一个自定义函数 
        Dim vnum As String = rndnum(4)
        Session(
"vnum"= vnum
        validatecode(vnum)
    
End Sub

    
Sub validatecode(ByVal vnum)
        
Dim img As System.drawing.Bitmap
        
Dim g As Graphics
        
Dim ms As MemoryStream
        
Dim gheight As Integer = Int(Len(vnum) * 11.5)
        
'gheight为图片宽度,根据字符长度自动更改图片宽度 
        img = New Bitmap(gheight, 20)
        g 
= Graphics.FromImage(img)
        g.DrawString(vnum, (
New Font("arial"10)), (New SolidBrush(Color.Blue)), 33'在矩形内绘制字串(字串,字体,画笔颜色,左上x.左上y) 
        ms = New MemoryStream
        img.Save(ms, ImageFormat.Png)
        Response.ClearContent() 
'需要输出图象信息 要修改http头 
        Response.ContentType = "image/png"
        Response.BinaryWrite(ms.ToArray())
        g.Dispose()
        img.Dispose()
        Response.End()
    
End Sub

    
Function rndnum(ByVal vcodenum)
        
Dim vchar As String = "0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,w,x,y,z"
        
Dim vcarray() As String = Split(vchar, ","'将字符串生成数组 
        Dim vnum As String = ""
        
Dim i As Byte
        
For i = 1 To vcodenum
            
Randomize()
            vnum 
= vnum & vcarray(Int(35 * Rnd())) '数组一般从0开始读取,所以这里为35*rnd 
        Next
        
Return vnum
    
End Function

End Class

在另一个页面添加一个image控件,将image连接到gif.aspx,浏览就可以看到效果(如果该页面和gif.aspx不在同一目录下,则要注意imageurl的链接)
 <asp:image id="image1" runat="server" imageurl="gif.aspx" /> 

validatecode.aspx.vb的代码

Public Class validatecode
    
Inherits System.Web.UI.Page

Web 窗体设计器生成的代码

    
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        
'在此处放置初始化页的用户代码
        Dim vnum As String = Session("vnum")
        Session.Abandon()
        viewstate(
"vnum"= vnum

    
End Sub

    
Sub btnsubmit_click(ByVal sender As ObjectByVal e As EventArgs)
        
'判断输入的验证码与所给是否相同 
        If txtvalidatecode.text = CStr(viewstate("vnum")) Then
            lblshow.text 
= "<font color='red'>提示:验证通过</font>"
        
Else
            lblshow.text 
= "所填写的验证码与所给的不符"
        
End If
    
End Sub


End Class

validatecode.aspx中html代码

<form id="Form1" method="post" runat="server">
            输入验证码:
            
<asp:textbox id="txtvalidatecode" runat="server" Width="128px" textmode="singleline"></asp:textbox>&nbsp;
            
<asp:image id="Image2" runat="server" Width="60px" Height="26px" imageurl="gif.aspx"></asp:image>
                        
<asp:button id="btnsubmit" onclick="btnsubmit_click" runat="server" text="比较"></asp:button>&nbsp;
            
<asp:label id="lblshow" runat="server"></asp:label><BR>
            
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></TD>
        
</form>