Recomendado: Comparação de várias maneiras de gerar arquivos HTML estáticos para ASP Existem muitos benefícios para converter páginas dinâmicas para gerar arquivos HTML estáticos, como a geração de páginas da Web HTML é propícia a ser incluída pelos mecanismos de pesquisa (especialmente para páginas que aceitam parâmetros dinâmicos). Ao acessar a recepção, ele é separado do acesso a dados, aliviando a pressão no acesso ao banco de dados e acelerando a abertura das páginas da web.
Use ASP para gerar código de verificação de cor da imagem
49 linhas de código, três arquivos
Arquivo ASP: code.asp
Arquivos de dados: body.fix, head.fix
Uso: <img src = code.asp>
<%Option explicitrSponse.buffer = truenumcodefunction numCode () Response.expires = -1 Response.Addheader Pragma, sem cache Response.AddHeader Cache-Ctrol, não-cache Dim Znum, i, J Dim ADOS, ADOS1 Randomer Znum = CINT (899* zimg (4), nstr nstr = cstr (znum) para i = 0 a 3 zimg (i) = cint (mid (nstr, i 1,1)) próximo Dim POS SET ADOS = server.createObject (adodb.stream) ados.mode = 3 ados.TypeNeNece (1 ados.MOD.MOD.ToD.STeam) ADoS1 = servidor.Cream.CreamOBS.CreamOBs.CreamOBS1 = ADOD.MOD.MOD.MOD.MOD.MOD.ROD.CRATEROBS1 = ADoS1 = servidor.Cream.CrateROBS.CreamOBSEB (ADoS1). Ados1.type = 1 ados1.open ados.loadfromfile (server.mappath (body.fix)) ados1.write ados.read (1280) para i = 0 a 3 ados.Position = (9-zimg (i))*320 ados1.Position = i*320 ados1.wread.wread (i)*320 320.Position = i*320 Ados.loadfromfile (server.mappath (head.fix)) pos = lenb (ados.read ()) ados.position = pos para i = 0 a 9 etapa 1 para j = 0 a 3 ados1.Position = i*32 J*320 Ados.Position = POS 30*Ji*120 120.ErtyMead (320). Ados.Position = 0 Response.BinaryWrite ados.read () ados.close: set ados = nada ados1.close: set ados1 = nothorend function code 'código criado por blueidea.com Team da web v37 2003-7-25%> |
Explicação de código:
| Response.Buffer = true NUMCODE Função numCode () Response.Expires = -1 Response.AddHeader Pragma, sem cache Response.AddHeader Cache-Ctrol, sem cache Dim Znum, i, j Dim Ados, Ados1 Randomize Timer |
Gerar números aleatórios de quatro dígitos:
| Znum = Cint (8999*Rnd 1000) |
Passar para a sessão
| Sessão (getCode) = Znum |
Isso para loop é colocar números aleatórios em uma matriz com o subscrito 3, que é conveniente para fornecer a transformação de matriz subsequente
| Dim Zimg (3), Nstr NSTR = CSTR (Znum) Para i = 0 a 3 zimg (i) = cint (mid (nstr, i 1,1)) Próximo Dim POS |
'Defina dois objetos binários adodb.stream para operação de dados de imagem:
| set ados = server.createObject (adodb.stream) Ados.mode = 3 Ados.type = 1 Ados.open Definir ados1 = server.createObject (adodb.stream) Ados1.mode = 3 Ados1.type = 1 Ados1.open |
'Carregar 0 ~ 9 dados digitais 10x100, dados da matriz GBR, cada um 320 byte, 10 dígitos 3200 byte
'BGR de um ponto, 10x10 pontos um número, um ponto três bytes (8 bits em binário, 00 00 00 00 00 00 em hexadecimal)
'Uma linha de 10 pontos 30 bytes line final marca 00 00 2 bytes 32 bytes, então uma imagem de 10x100 com uma largura menor que o comprimento de cada número 10x10 é 320 bytes
'Se o comprimento for maior que a largura, não haverá marca final de linha de 0000, que é diretamente 300 bytes.
Estes são os detalhes de dados BMP 24bits
'Quanto à cabeça, também é muito simples, incluindo comprimento e largura, marcação de iniciar a imagem, etc. ~~ são apenas 54 bytes, muito menos complicados que JPG ou algo assim
| Ados.loadfromfile (server.mappath (body.fix)) Ados1.write ados.read (1280) |
'O primeiro para loop, extraia os quatro números correspondentes da matriz digital 10x100 na ordem de números aleatórios gerados
Mas uma variedade vertical de números
| para i = 0 a 3 Ados.Position = (9-zimg (i))*320 Ados1.position = i*320 Ados1.write ados.read (320) próximo |
'Limpe os dados do ADOS usado e ligue no arquivo de cabeçalho que substitui o novo cabeçalho da imagem 54 bytes
| Ados.loadfromfile (server.mappath (head.fix)) Pos = lenb (ados.read ()) Ados.Position = POS |
'Especifique a posição POS e depois compense a posição por 54 bytes para adicionar dados gráficos
O segundo para o loop executa a transformação da matriz de números, convertendo blocos verticais em blocos horizontais
O método é extrair 4 vezes de 320 bytes e gravar no objeto ADOS e, em seguida, extrair os dados da imagem que são compensados da segunda linha.
30 bytes é porque a largura do BMP é maior que longa sem 00 00
| A seguir, o conteúdo citado: para i = 0 a 9 Etapa 1 para j = 0 a 3 Ados1.Position = i*32 J*320 Ados.Position = POS 30*ji*120 Ados.write ados1.read (30) próximo próximo Ados.Position = 0 Response.BinaryWrite envia dados de imagem diretamente para o cliente Response.ContentType = Image/BMP Response.BinaryWrite ados.read () Ados.close: set ados = nada Ados1.close: set ados1 = nada Função final |
Compartilhar: sobre a separação do código e página asp Para evitar dificuldades de manutenção causadas pela redação mista do código ASP do programa TML, este artigo apresenta um método para usar modelos para separar programas e páginas para facilitar a programação. Ao usar asp para criar um site, um arquivo ASP geralmente aparece, código do programa e HTM