Il existe de nombreux composants ASP qui génèrent des miniatures sur Internet. Si votre espace virtuel ne prend pas en charge l'enregistrement de nouveaux composants, vous pouvez sentir que votre site Web perd sa couleur. Xinqing n'est pas talentueux et combiné avec des ressources en ligne, elle a écrit un programme de miniatures sans composant pour référence uniquement.
Jetons un coup d'œil aux bases en premier. Tout d'abord, nous savons que le code suivant s'affiche sur la page:
<imgsrc = "pic.gif" border = "0" width = "300" height = "260">
SRC est le chemin d'image, la bordure contrôle la largeur du bord de l'image, la largeur est la longueur de l'image et la hauteur est la hauteur de l'image. La génération de miniatures est en fait évolutive sur la taille d'origine. Mais généralement, afin de minimiser la distorsion, nous évoluons à l'échelle. Par conséquent, l'obtention de la longueur et de la largeur de l'image devient au centre de la génération de vignettes.
Voici les étapes pour rédiger une miniature sans composants:
1. Obtenez la taille de l'image sans composants
J'ai vu un article utilisant le code ASCII pour obtenir des tailles d'image sans composants lorsque j'ai appris pour la première fois ASP. Plus tard, je l'ai essayé et j'ai découvert que lorsque j'ai obtenu la taille des images de type JPG, je l'ai vérifiée en ligne et j'ai constaté que de nombreux sites Web ont réimprimé ce programme, mais aucun d'entre eux n'a souligné les défauts de ce programme, sans parler de la solution aux défauts. Plus tard, je suis allé googlé et j'ai finalement trouvé un article introduisant l'utilisation d'Adodb.stream pour obtenir des tailles d'image. Je l'ai essayé en modifiant le code à l'intérieur selon la méthode introduite. L'effet est vraiment bon. Maintenant, je vais le retirer et le partager avec vous:
Utilisez Adodb.stream pour obtenir une classe commune <% de la taille de l'image
'//////////////////Gps: GetPictureSize /////////////
'//////////////////////////////////////
'///////////// CitéByleon (Xinqing) 11 août 2005 /////////////////
ClassGPS
Dimaso
PrivésubClass_Initialize
Setaso = createObject ("adodb.stream")
aso.mode = 3
aso.type = 1
aso.open
Fin
PrivésUbclass_termince
setaso = rien
Fin
PrivateFunctionBin2str (bac)
Dimi, str
Fori = 1tolenb (bac)
CLOW = midb (bac, i, 1)
ifascb (Clow) <128Then
Str = str & chr (ascb (Clow))
Autre
I = i + 1
ifi <= Lenb (bin) thenstr = str & chr (ascw (midb (bin, i, 1) & Clow)))
endire
Suivant
Bin2str = str
Finition de fin
PrivateFunctionNum2str (num, base, objectif)
'GPS (2005-8-11)
dimère
ret = ""
While (num> = base)
ret = (nummodbase) & ret
num = (num-nummodbase) / base
se promener
Num2str = droite (String (Lens, "0") & num & ret, Lens)
Finition de fin
PrivateFunctionstr2num (Str, base)
'GPS (2005-8-11)
dimère
ret = 0
fori = 1tolen (str)
ret = ret * base + cint (mid (str, i, 1))
suivant
Str2num = ret
Finition de fin