设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 4715|回复: 5
打印 上一主题 下一主题

验证图片生成

[复制链接]
跳转到指定楼层
1#
发表于 2008-3-9 13:56:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


  1. <%@ WebHandler Language="VB" Class="GetValidateImage" %>
  2. Imports System
  3. Imports System.Web
  4. Imports System.Data
  5. Imports System.Configuration
  6. Imports System.Collections
  7. Imports System.Web.Security
  8. Imports System.Web.UI
  9. Imports System.Web.UI.WebControls
  10. Imports System.Web.UI.WebControls.WebParts
  11. Imports System.Web.UI.HtmlControls
  12. Imports System.Drawing
  13. Imports System.Drawing.Imaging
  14. Imports System.IO
  15. Public Class GetValidateImage : Implements IHttpHandler
  16.    
  17.     Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
  18.         Dim number As String = Trim(context.Request.QueryString("number"))
  19.         Dim gheight As Integer = Int(Len(number) * 11.5)
  20.         'gheight为图片宽度,根据字符长度自动更改图片宽度
  21.         Dim img As New Bitmap(gheight, 20)
  22.         Dim g As Graphics = Graphics.FromImage(img)
  23.         g.DrawString(number, (New Font("Arial", 10)), (New SolidBrush(Color.Blue)), 3, 3) '在矩形内绘制字串(字串,字体,画笔颜色,左上x.左上y)
  24.         Dim ms As New MemoryStream()
  25.         Img.Save(ms, ImageFormat.Png)
  26.         context.Response.ClearContent() '需要输出图象信息 要修改HTTP头
  27.         context.Response.ContentType = "image/Png"
  28.         context.Response.BinaryWrite(ms.ToArray())
  29.         g.Dispose()
  30.         Img.Dispose()
  31.         context.Response.End()
  32.     End Sub
  33.      
  34.     Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
  35.         Get
  36.             Return False
  37.         End Get
  38.     End Property
  39. End Class

复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2008-3-9 14:33:59 | 只看该作者
先收藏  

不知在ACCESS能不能实现这样的效果
3#
 楼主| 发表于 2008-3-9 18:03:28 | 只看该作者
原帖由 andymark 于 2008-3-9 14:33 发表
先收藏  

不知在ACCESS能不能实现这样的效果


我想应该可以的,不过需要安装.NET架构,并且使用VS创建Access兼容的COM类,并在Access中引用。处理方法可能不一样,在Access中处理的话需要使用临时文件,然后用图像控件予以显示。
4#
发表于 2008-12-28 23:43:07 | 只看该作者
不错,谢谢了
5#
发表于 2008-12-28 23:43:17 | 只看该作者
不错,谢谢了
6#
发表于 2010-5-20 16:06:11 | 只看该作者
仔细学习, 谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-23 06:38 , Processed in 0.128093 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表