CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

asp生成图片的方法--非高手莫进

楼主lovefox_zoe(爱情狐狸)2006-03-16 20:59:19 在 Web 开发 / ASP 提问

不要告诉我哪些网络上面的生成验证码的代码。那些是把1-9都弄好数组,然后逐个生成的。  
  如果其他的普通图片如何生成哦。 问题点数:20、回复次数:11Top

1 楼kittow(天笑)回复于 2006-03-16 21:50:04 得分 20

1、一般我们生成缩略图、加水印用的是ASPJPEG  
  http://bbs.dvbbs.net/dispbbs.asp?boardid=8&id=560125  
   
  2、在虚拟形象系统里面处理图片合成用的ASPPainter  
  http://www.asppainter.com/  
   
  3、做报表分析的图(如:曲线图,饼图,柱状图)   ,用OWC组件  
  微软本身就给我们提供了很好用的组件OWC(噢~~WC!;)  
  http://dotnet.aspx.cc/ShowDetail.aspx?id=ADB6D011-A4AD-43A0-A8BF-3CED872A7A95  
  Top

2 楼KimSoft(革命的小酒天天醉-http://blog.csdn.net/kimsoft/)回复于 2006-03-17 08:27:31 得分 0

只有用组件。Top

3 楼lovefox_zoe(爱情狐狸)回复于 2006-03-17 22:20:49 得分 0

嗯,我看了一些资料,如果其他程序发送一个图片的二进制流,如何接受并生成图片上传呢?  
   
  有免费的、安全的组件也可以。成功一定高分给您!Top

4 楼xtuwz(子依(向大家學習,向版主學習!))回复于 2006-03-18 09:03:01 得分 0

是嘛,我通常都是把圖片命個1.gif,2.gif,3.gif,4.gif,5.gif.......(1.gif對應1,2.gif對應2....),然后根據隨機值來取圖片放入的.用組件麻煩....Top

5 楼xtuwz(子依(向大家學習,向版主學習!))回复于 2006-03-18 09:05:39 得分 0

lovefox_zoe(爱情狐狸)   (   )   信誉:100     2006-3-17   22:20:50     得分:   0      
  看見過你說得這種,但一下在機器上找不到了,我記得也不是用組件,是一個二進制的數組吧,不太記得了,不好意思.Top

6 楼lovefox_zoe(爱情狐狸)回复于 2006-03-22 21:12:33 得分 0

嗯。大家帮忙哦。Top

7 楼liuxiaoyi666(MSMVP 小猪妹荣誉马甲之八卦兔子)回复于 2006-03-22 21:21:10 得分 0

google搜索竹竹验证码,无组的Top

8 楼Green1879(绯红)回复于 2006-03-22 23:06:36 得分 0

方法有多种,这是其中一种。  
  有两个文件,其一(SHOWCODE.ASP):  
  <html>  
   
  <head>  
  <title>验证码生成</title>  
  </head>  
  <body>  
  <center>  
  <img   src   =   checkcode.asp>  
  </body>  
   
  </html>  
   
  Top

9 楼Green1879(绯红)回复于 2006-03-22 23:07:14 得分 0

其二(checkcode.asp):  
  <%  
  Call   CreateSafeCode() '调用CreateSafeCode   过程  
  Sub   CreateSafeCode   () '定义CreateSafeCode   过程  
  'AddHeader   方法用于增加带有一个要发送到客户应用程序的特殊的HTTP头  
  Response.AddHeader   "Pragma","no-cache"    
  Response.AddHeader   "cache-ctrol","no-cache"    
  '指定响应的HTTP   内容类型为"Image/BMP"  
  Response.ContentType   =   "Image/BMP"      
  '生成随机数,因为Rnd   生成一个小于1但大于或等于0的数,所以8999*Rnd   +1000   得到的  
  '随机数为一个四位数  
  Randomize   timer  
  SafeCode   =   cint(8999*Rnd+1000)  
  '将SafeCode   保存在SessionCode("SafeCode")中  
  Session("SafeCode")   =   SafeCode    
  '   定义一个二维数组,保存字符数据    
  Dim   Letter(10,20)    
  '要显示的字符“0”  
  Letter(0,0)   =   "0000000000000000"  
  Letter(0,1)   =   "0000111110000000"  
  Letter(0,2)   =   "0001111111000000"  
  Letter(0,3)   =   "0011100011100000"  
  Letter(0,4)   =   "0011000001110000"  
  Letter(0,5)   =   "0111000000110000"  
  Letter(0,6)   =   "0110000000111000"  
  Letter(0,7)   =   "0110000000111000"  
  Letter(0,8)   =   "1110000000111000"  
  Letter(0,9)   =   "1100000000111000"  
  Letter(0,10)   =   "1100000000111000"  
  Letter(0,11)   =   "1110000000111000"  
  Letter(0,12)   =   "1110000000110000"  
  Letter(0,13)   =   "1110000000110000"  
  Letter(0,14)   =   "0110000000110000"  
  Letter(0,15)   =   "0111000001110000"  
  Letter(0,15)   =   "0011100001100000"  
  Letter(0,16)   =   "0001111111000000"  
  Letter(0,17)   =   "0000111110000000"  
  Letter(0,18)   =   "0000000000000000"  
  Letter(0,19)   =   "0000000000000000"  
   
  '要显示的字符“1”  
  Letter(1,0)   =   "0000000000000000"  
  Letter(1,1)   =   "0000000111000000"  
  Letter(1,2)   =   "0000000111000000"  
  Letter(1,3)   =   "0000001110000000"  
  Letter(1,4)   =   "0000001100000000"  
  Letter(1,5)   =   "0000001100000000"  
  Letter(1,6)   =   "0000001100000000"  
  Letter(1,7)   =   "0000011100000000"  
  Letter(1,8)   =   "0000011100000000"  
  Letter(1,9)   =   "0000011100000000"  
  Letter(1,10)   =   "0000011000000000"  
  Letter(1,11)   =   "0000011000000000"  
  Letter(1,12)   =   "0000011000000000"  
  Letter(1,13)   =   "0000011000000000"  
  Letter(1,14)   =   "0000011000000000"  
  Letter(1,15)   =   "0000011000000000"  
  Letter(1,16)   =   "0000011000000000"  
  Letter(1,17)   =   "0000001000000000"  
  Letter(1,18)   =   "0000000000000000"  
  Letter(1,19)   =   "0000000000000000"  
   
   
  '要显示的字符“2”  
  Letter(2,0)   =   "0000000000000000"  
  Letter(2,1)   =   "0000111111000000"  
  Letter(2,2)   =   "0001111111100000"  
  Letter(2,3)   =   "0011100001110000"  
  Letter(2,4)   =   "0111000001110000"  
  Letter(2,5)   =   "0111000001100000"  
  Letter(2,6)   =   "0110000001100000"  
  Letter(2,7)   =   "0000000011100000"  
  Letter(2,8)   =   "0000000111000000"  
  Letter(2,9)   =   "0000000111000000"  
  Letter(2,10)   =   "0000001100000000"  
  Letter(2,11)   =   "0000011100000000"  
  Letter(2,12)   =   "0000111000000000"  
  Letter(2,13)   =   "0001100000000000"  
  Letter(2,14)   =   "0001100000000000"  
  Letter(2,15)   =   "0011000001110000"  
  Letter(2,16)   =   "0110111111110000"  
  Letter(2,17)   =   "0111111111111000"  
  Letter(2,18)   =   "0111110000000000"  
  Letter(2,19)   =   "0000000000000000"  
   
   
   
  '要显示的字符“3”  
  Letter(3,0)   =   "0000000000000000"  
  Letter(3,1)   =   "0000111111100000"  
  Letter(3,2)   =   "0011111111100000"  
  Letter(3,3)   =   "0111000011110000"  
  Letter(3,4)   =   "0110000001100000"  
  Letter(3,5)   =   "0100000011100000"  
  Letter(3,6)   =   "0000000011100000"  
  Letter(3,7)   =   "0000000111000000"  
  Letter(3,8)   =   "0000001100000000"  
  Letter(3,9)   =   "0000011111000000"  
  Letter(3,10)   =   "0000010011100000"  
  Letter(3,11)   =   "0000000001110000"  
  Letter(3,12)   =   "0000000001110000"  
  Letter(3,13)   =   "0000000001110000"  
  Letter(3,14)   =   "0000000001110000"  
  Letter(3,15)   =   "0000000001100000"  
  Letter(3,16)   =   "1110000011100000"  
  Letter(3,17)   =   "1111111111000000"  
  Letter(3,18)   =   "0111111110000000"  
  Letter(3,19)   =   "0000000000000000"Top

10 楼Green1879(绯红)回复于 2006-03-22 23:07:22 得分 0

'要显示的字符“4”  
  Letter(4,0)   =   "0000000000000000"  
  Letter(4,1)   =   "0000000011100000"  
  Letter(4,2)   =   "0000000111100000"  
  Letter(4,3)   =   "0000001110000000"  
  Letter(4,4)   =   "0000011101110000"  
  Letter(4,5)   =   "0000111001110000"  
  Letter(4,6)   =   "0000110001100000"  
  Letter(4,7)   =   "0001100011100000"  
  Letter(4,8)   =   "0011100011000000"  
  Letter(4,9)   =   "0111000011000000"  
  Letter(4,10)   =   "0110000011000000"  
  Letter(4,11)   =   "0110000011000000"  
  Letter(4,12)   =   "1100011111111000"  
  Letter(4,13)   =   "1111111111110000"  
  Letter(4,14)   =   "1111111110000000"  
  Letter(4,15)   =   "1110000110000000"  
  Letter(4,16)   =   "0000000111000000"  
  Letter(4,17)   =   "0000000011000000"  
  Letter(4,18)   =   "0000000011000000"  
  Letter(4,19)   =   "0000000010000000"  
   
   
  '要显示的字符“5”  
  Letter(5,0)   =   "0000000000000000"  
  Letter(5,1)   =   "0000110000010000"  
  Letter(5,2)   =   "0001111111111000"  
  Letter(5,3)   =   "0001111111110000"  
  Letter(5,4)   =   "0001111000000000"  
  Letter(5,5)   =   "0001100000000000"  
  Letter(5,6)   =   "0011100000000000"  
  Letter(5,7)   =   "0011100000000000"  
  Letter(5,8)   =   "0011111111000000"  
  Letter(5,9)   =   "0011111111100000"  
  Letter(5,10)   =   "0000000001100000"  
  Letter(5,11)   =   "0000000001100000"  
  Letter(5,12)   =   "0000000001100000"  
  Letter(5,13)   =   "0000000001100000"  
  Letter(5,14)   =   "0000000001100000"  
  Letter(5,15)   =   "0000000001100000"  
  Letter(5,16)   =   "0000000111100000"  
  Letter(5,17)   =   "0111111111000000"  
  Letter(5,18)   =   "0011111100000000"  
  Letter(5,19)   =   "0000000010000000"  
   
   
  '要显示的字符“6”  
  Letter(6,0)   =   "0000000000000000"  
  Letter(6,1)   =   "0000001111000000"  
  Letter(6,2)   =   "0000011110000000"  
  Letter(6,3)   =   "0000111000000000"  
  Letter(6,4)   =   "0001110000000000"  
  Letter(6,5)   =   "0011100000000000"  
  Letter(6,6)   =   "0011000000000000"  
  Letter(6,7)   =   "0011000000000000"  
  Letter(6,8)   =   "0111111111000000"  
  Letter(6,9)   =   "0111111111100000"  
  Letter(6,10)   =   "0111000001110000"  
  Letter(6,11)   =   "0110000000110000"  
  Letter(6,12)   =   "0110000000110000"  
  Letter(6,13)   =   "0110000000110000"  
  Letter(6,14)   =   "0110000000110000"  
  Letter(6,15)   =   "0111000001110000"  
  Letter(6,16)   =   "0011000001110000"  
  Letter(6,17)   =   "0011111111100000"  
  Letter(6,18)   =   "0001111111000000"  
  Letter(6,19)   =   "0000000000000000"  
   
  '要显示的字符“7”  
  Letter(7,0)   =   "0000000000000000"  
  Letter(7,1)   =   "0010011111111000"  
  Letter(7,2)   =   "0111111111110000"  
  Letter(7,3)   =   "0111111001110000"  
  Letter(7,4)   =   "0000000001100000"  
  Letter(7,5)   =   "0000000011100000"  
  Letter(7,6)   =   "0000000011000000"  
  Letter(7,7)   =   "0000000011000000"  
  Letter(7,8)   =   "0000000011000000"  
  Letter(7,9)   =   "0000000111000000"  
  Letter(7,10)   =   "0000000110000000"  
  Letter(7,11)   =   "0000000110000000"  
  Letter(7,12)   =   "0000000110000000"  
  Letter(7,13)   =   "0000000110000000"  
  Letter(7,14)   =   "0000001110000000"  
  Letter(7,15)   =   "0000001110000000"  
  Letter(7,16)   =   "0000001110000000"  
  Letter(7,17)   =   "0000000100000000"  
  Letter(7,18)   =   "0000000100000000"  
  Letter(7,19)   =   "0000000000000000"  
   
  '要显示的字符“8”  
  Letter(8,0)   =   "0000000000000000"  
  Letter(8,1)   =   "0000111111000000"  
  Letter(8,2)   =   "0001111111100000"  
  Letter(8,3)   =   "0011100001100000"  
  Letter(8,4)   =   "0011000001100000"  
  Letter(8,5)   =   "0111000001110000"  
  Letter(8,6)   =   "0111000001100000"  
  Letter(8,7)   =   "0011000001100000"  
  Letter(8,8)   =   "0011110111100000"  
  Letter(8,9)   =   "0001111111100000"  
  Letter(8,10)   =   "0011100011110000"  
  Letter(8,11)   =   "0111000000110000"  
  Letter(8,12)   =   "0111000000110000"  
  Letter(8,13)   =   "0110000000111000"  
  Letter(8,14)   =   "0110000000110000"  
  Letter(8,15)   =   "0110000000110000"  
  Letter(8,16)   =   "0111000001110000"  
  Letter(8,17)   =   "0011111111110000"  
  Letter(8,18)   =   "0001111111000000"  
  Letter(8,19)   =   "0000000000000000"  
   
  '要显示的字符“9”  
  Letter(9,0)   =   "0000000000000000"  
  Letter(9,1)   =   "0001111111000000"  
  Letter(9,2)   =   "0011111111100000"  
  Letter(9,3)   =   "0111000011100000"  
  Letter(9,4)   =   "0111000001110000"  
  Letter(9,5)   =   "0110000000110000"  
  Letter(9,6)   =   "0110000000110000"  
  Letter(9,7)   =   "0110000000110000"  
  Letter(9,8)   =   "0110000000110000"  
  Letter(9,9)   =   "0111000001110000"  
  Letter(9,10)   =   "0011111111110000"  
  Letter(9,11)   =   "0001111111110000"  
  Letter(9,12)   =   "0000000001100000"  
  Letter(9,13)   =   "0000000001100000"  
  Letter(9,14)   =   "0000000011100000"  
  Letter(9,15)   =   "0000000111000000"  
  Letter(9,16)   =   "0000001110000000"  
  Letter(9,17)   =   "0000011100000000"  
  Letter(9,18)   =   "0001111000000000"  
  Letter(9,19)   =   "0000000000000000"  
   
  '24位图  
  '   输出图像文件头    
  'Response.BinaryWrite   ChrB(66)   &   ChrB(77)   &   ChrB(54)   &   ChrB(15)   &   ChrB(0)   &   ChrB(0)   &   ChrB(0)   &   ChrB(0)   &_    
  '     ChrB(0)   &   ChrB(0)   &   ChrB(54)   &   ChrB(0)   &   ChrB(0)   &   ChrB(0)  
  '   输出图像信息头    
  'Response.BinaryWrite   ChrB(40)   &   ChrB(0)   &   ChrB(0)   &   ChrB(0)   &   ChrB(64)   &   ChrB(0)   &   ChrB(0)   &   ChrB(0)   &   ChrB(20)   &   ChrB(0)   &_    
  '     ChrB(0)   &   ChrB(0)   &   ChrB(1)   &   ChrB(0)   &ChrB(24)   &   ChrB(0)   &   ChrB(0)   &   ChrB(0)   &   ChrB(0)   &   ChrB(0)   &   ChrB(0)   &   ChrB(15)   &_    
  '     ChrB(0)   &   ChrB(0)   &   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   iTemp1   =   19   to   0   step   -1     '每一行  
  ' For   iTemp2   =   1   to   Len(SafeCode)   '每一个字  
  ' For   iTemp3   =   1   to   16   '每一个像素  
  ' Response.BinaryWrite   vColorData(Mid(Letter(Mid(SafeCode,iTemp2,1),iTemp1),iTemp3,1))  
  ' next  
  ' next  
  'next  
   
   
  '显示一个8位的灰度图  
  '   输出图像文件头    
  Response.BinaryWrite   ChrB(66)   &   ChrB(77)   &   ChrB(54)   &   ChrB(9)   &_    
  ChrB(0)   &   ChrB(0)   &   ChrB(0)   &   ChrB(0)   &_    
      ChrB(0)   &   ChrB(0)   &   ChrB(54)   &   ChrB(4)   &   ChrB(0)   &   ChrB(0)  
  '   输出图像信息头    
  Response.BinaryWrite   ChrB(40)   &   ChrB(0)   &   ChrB(0)   &   ChrB(0)   &_  
  ChrB(64)   &   ChrB(0)   &   ChrB(0)   &   ChrB(0)   &   ChrB(20)   &   ChrB(0)   &_    
      ChrB(0)   &   ChrB(0)   &   ChrB(1)   &   ChrB(0)   &ChrB(8)   &   ChrB(0)   &   ChrB(0)   &_  
  ChrB(0)   &   ChrB(0)   &   ChrB(0)   &   ChrB(0)   &   ChrB(5)   &   ChrB(0)   &   ChrB(0)   &_    
  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   i   =   0   to   255  
  Response.BinaryWrite   ChrB(255-i)   &   ChrB(255-i)   &   ChrB(255-i)   &   ChrB(0)      
  Next  
  '输出图像数据  
  For   iTemp1   =   19   to   0   step   -1     '图像的每一行  
  For   iTemp2   =   1   to   4   '图像上显示的每一个字  
  For   iTemp3   =   1   to   16   '每个字的每一个像素  
  '获得SafeCode   第iTemp2   个字符,保存在SafeCodePer   中  
  SafeCodePer   =   Mid(SafeCode,iTemp2,1)  
  '从字符数据Letter   数组中找到SafeCodePer   对应的数组,例如1对应的数组为Letter(1,0)   到Letter(1,19),iTemp   指定具体的行  
  SafeCodeLetter   =   Letter(SafeCodePer,iTemp1)  
  '获得像素值  
  Pixel   =   Mid(SafeCodeLetter,iTemp3,1)*255  
  Response.BinaryWrite   ChrB(Pixel)  
  next  
  next  
  next  
   
  End   Sub    
  %>Top

11 楼jspadmin(阿笨狗http://www.pifoo.com域名空间专卖cn20、com50元)回复于 2006-03-23 08:55:09 得分 0

目前只是生成数字图片可以用无组件的。还没人写出过无组件生成任意图片的,甚至简单的图片处理代码,也比较少(部分调整图片属性的js可以实现)。基本上都是组件的。Top

相关问题

  • 求助:用asp生成图片....
  • asp 生成 html
  • 请问如何才能使用ASP生成透明的图片
  • asp不用组件如何生成图片缩略图文件?
  • ASP生成类似WINDOWS的序列号方法???
  • 请教图片(已在Form上生成了二维条码)的打印方法。
  • 生成tif图片文件
  • 生成图片的问题
  • 生成小图片问题
  • 急求 ASP上传图片方法

关键词

得分解答快速导航

  • 帖主:lovefox_zoe
  • kittow

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo