Existem muitos componentes ASP que geram miniaturas na Internet. Se o seu espaço virtual não suportar o registro de novos componentes, você poderá sentir que seu site está perdendo a cor. Xinqing não é talentoso e combinado com recursos on-line, ela escreveu um programa de miniatura sem componentes apenas para referência.
Vamos dar uma olhada no básico primeiro. Primeiro de tudo, sabemos que o código a seguir é exibido na página:
<imgsrc = "pic.gif" border = "0" width = "300" altura = "260">
SRC é o caminho da imagem, a borda controla a largura da borda da imagem, a largura é o comprimento da imagem e a altura é a altura da imagem. A geração de miniaturas está realmente escalando no tamanho original. Mas, geralmente, para minimizar a distorção, escalaremos em escala. Portanto, obter o comprimento e a largura da figura se torna o foco da geração de miniaturas.
Aqui estão as etapas para escrever uma miniatura sem componentes:
1. Obtenha o tamanho da imagem sem componentes
Vi um artigo usando o código ASCII para obter tamanhos de imagem sem componentes quando aprendi o ASP pela primeira vez. Mais tarde, tentei e descobri que, quando recebi o tamanho de imagens do tipo JPG, verifiquei on-line e descobri que muitos sites reimprimiam esse programa, mas nenhum deles apontou as falhas deste programa, muito menos a solução para as falhas. Mais tarde, fui pesquisado no Google e finalmente encontrei um artigo introduzindo o uso do Adodb.stream para obter tamanhos de imagem. Eu tentei modificar o código dentro de acordo com o método introduzido. O efeito é realmente bom. Agora vou retirá -lo e compartilhar com você:
Use Adodb.stream para obter classe comum <% do tamanho da imagem
'///////////////// GPS: getPicturesize ///////////////
'///////////////////////////////////
'///////////// citedbyleon (xinqing) 11 de agosto de 2005 //////////////////
ClassGps
DIMASO
Privatesubclass_initialize
Setaso = createObject ("adodb.stream")
ASO.MODE = 3
ASO.TYPE = 1
ASO.OPEN
Endsub
Privatesubclass_termine
setaso = nada
Endsub
PrivateFunctionBin2STR (BIN)
Dimi, str
Fori = 1tolenb (bin)
Clow = MIDB (bin, i, 1)
ifascb (Clow) <128then
Str = str & ch (ASCB (Clow))
Outro
I = i+1
ifi <= lenb (bin) thenstr = str & chr (ascw (midb (bin, i, 1) e corvo))
endif
Próximo
Bin2str = str
Função final
PrivatefunctionNum2str (num, base, lente)
'GPS (2005-8-11)
dimret
ret = ""
While (num> = base)
ret = (numModbase) e ret
num = (num-nummodbase)/base
Wend
Num2str = direita (string (lente, "0") e num & ret, lente)
Função final
Privatefunctionstr2num (str, base)
'GPS (2005-8-11)
dimret
ret = 0
fori = 1Tolen (STR)
ret = ret*base+cint (mid (str, i, 1))
próximo
Str2num = ret
Função final