首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

怎么保存用asp生成的BMP图象为一个文件

2012-03-19 
如何保存用asp生成的BMP图象为一个文件?以下为写出的代码:%CallCom_CreatValidCode( ValidCode )SubCom

如何保存用asp生成的BMP图象为一个文件?
以下为写出的代码:
<%
Call   Com_CreatValidCode( "ValidCode ")

Sub   Com_CreatValidCode(PSN)
'   禁止缓存
Response.Expires   =   -9999  
Response.AddHeader   "Pragma ", "no-cache "
Response.AddHeader   "cache-ctrol ", "no-cache "
Response.ContentType   =   "Image/BMP "

'   颜色的数据(字符,背景)
Dim   vColorData(1)
vColorData(0)   =   ChrB(255)   &   ChrB(0)   &   ChrB(0)   '   蓝0,绿0,红0(黑色)
vColorData(1)   =   ChrB(255)   &   ChrB(255)   &   ChrB(255)   '   蓝250,绿236,红211(浅蓝色)

  Dim   PicWidth,   PicHeight,   FileSize,   PicDataSize
  PicWidth   =   204
  PicHeight   =   204
  PicDataSize   =   PicWidth   *   PicHeight   *   3
  FileSize   =   PicDataSize   +   50
  '   输出BMP文件信息头
  Response.BinaryWrite   ChrB(66)   &   ChrB(77)   &   _
    ChrB(FileSize   Mod   256)   &   ChrB((FileSize   \   256)   Mod   256)   &   ChrB((FileSize   \   256   \   256)   Mod   256)   &   ChrB(FileSize   \   256   \   256   \   256)   &   _
    ChrB(0)   &   ChrB(0)   &   ChrB(0)   &   ChrB(0)   &   _
    ChrB(54)   &   ChrB(0)   &   ChrB(0)   &   ChrB(0)

  '   输出BMP位图信息头
  Response.BinaryWrite   ChrB(40)   &   ChrB(0)   &   ChrB(0)   &   ChrB(0)   &   _
    ChrB(PicWidth   Mod   256)   &   ChrB((PicWidth   \   256)   Mod   256)   &   ChrB((PicWidth   \   256   \   256)   Mod   256)   &   ChrB(PicWidth   \   256   \   256   \   256)   &   _
    ChrB(PicHeight   Mod   256)   &   ChrB((PicHeight   \   256)   Mod   256)   &   ChrB((PicHeight   \   256   \   256)   Mod   256)   &   ChrB(PicHeight   \   256   \   256   \   256)   &   _
    ChrB(1)   &   ChrB(0)   &   _
    ChrB(24)   &   ChrB(0)   &   _
    ChrB(0)   &   ChrB(0)   &   ChrB(0)   &   ChrB(0)   &   _
    ChrB(PicDataSize   Mod   256)   &   ChrB((PicDataSize   \   256)   Mod   256)   &   ChrB((PicDataSize   \   256   \   256)   Mod   256)   &   ChrB(PicDataSize   \   256   \   256   \   256)   &   _
    ChrB(18)   &   ChrB(11)   &   ChrB(0)   &   ChrB(0)   &   _
    ChrB(18)   &   ChrB(11)   &   ChrB(0)   &   ChrB(0)   &   _
    ChrB(0)   &   ChrB(0)   &   ChrB(0)   &   ChrB(0)   &   _
    ChrB(0)   &   ChrB(0)   &   ChrB(0)   &   ChrB(0)

  For   j   =   0   To   PicHeight


    For   i   =   0   To   PicWidth
    if   i   Mod   2   =   0   And   j   Mod   2   =   0   Then
    Response.BinaryWrite(vColorData(0))
Else
Response.BinaryWrite(vColorData(1))
End   If
    Next
  Next
End   Sub
%>

目前我只能写出,但不能实现保存。用stream可以实现吗?有高人指点一下,万分感谢!

[解决办法]
参照其他人的验证码程序:)

热点排行