Tout d'abord, nous savons que l'image sur la page est le code suivant:
<img src = pic.gif border = 0 width = 300 height = 260>
SRC est le chemin d'image, la bordure contrôle la largeur de l'image, la largeur est la longueur de l'image et la hauteur est la hauteur de l'image. La génération d'un diagramme étroit est en fait un zoom dans la taille d'origine. Mais pour être aussi distorsion que possible, nous serons proportionnels à l'échelle. En conséquence, la longueur et la taille de la largeur de l'image sont également devenues l'objectif d'un diagramme de déviation.
Ce qui suit est l'étape d'écriture sans composants pour générer une miniature:
1. Obtenez la taille de l'image sans composants
Avant d'apprendre ASP, j'ai vu un article utilisant le code ASCII pour obtenir la taille de l'image sans composants. Plus tard, je l'ai essayé et j'ai constaté que lors de l'obtention de la taille de la classe JPG, il n'a pas toujours été affiché correctement. Solution. Plus tard, Google a ensuite été trouvé un article qui a introduit la taille de la taille de l'image à l'aide d'Adodb.stream.
Utilisez Adodb.Stream pour obtenir la classe générale de la taille de l'image
| Ce qui suit est le fragment de code: <% '//////////// gps: obtenez une taille d'impurement //////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// / ////////////////////////////////////////////////////////////////////////// / //////////////////////////////////////////// Gons '////////////// Utilisez Adodb.stream pour obtenir la taille de l'image ////////////// '//////// cité par Leon (Xinqing) 11 août 2005 /////////// GPS de classe ASO DIM Private Sub class_inialize Set aso = createObject (adodb.stream) aso.mode = 3 aso.type = 1 aso.open Sub-Sub Sous-classe privée_terminée Set ASO = Rien Sub-Sub Fonction privée bin2str (bin) Dim I, str Pour i = 1 à Lenb (poubelle) CLOW = midb (bac, i, 1) Si ASCB (CLOW) <128 alors Str = str & chr (ascb (Clow)) Autre I = i 1 Si je <= Lenb (bin) alors str = str & chr (ascw (midb (bin, i, 1) & clow))) terminer si Suivant Bin2str = str Fonction finale Fonction privée num2str (num, base, objectif) 'GPS (2005-8-11) dim retr Ret = While (num> = base) Ret = (num mod base) & ret num = (num -num mod base) / base se promener Num2str = droite (chaîne (objectif, 0) & num & ret, objectif) Fonction finale Fonction privée str2num (str, base) 'GPS (2005-8-11) dim retr Ret = 0 pour i = 1 à Len (str) Ret = ret * Cint de base (mid (str, i, 1)) suivant Str2num = ret Fonction finale Fonction privée binval (poubelle) 'GPS (2002-8-11) dim retr Ret = 0 pour i = Lenb (bin) à 1 étape -1 Ret = ret * 256 ascb (midb (bin, i, 1)) suivant Binval = ret Fonction finale Fonction privée binval2 (bac) 'GPS (2002-8-11) dim retr Ret = 0 pour i = 1 à Lenb (poubelle) Ret = ret * 256 ascb (midb (bin, i, 1)) suivant Binval2 = ret Fonction finale '/// Ce qui suit est le code d'appel /// Fonction getImageSize (filespec) 'GPS (2002-8-11) Dim Ret (3) Aso.loadFromfile (filespec) bflag = aso.read (3) Sélectionnez Case Hex (Binval (BFLAG)) Cas 4E5089: aso.read (15) Ret (0) = png Ret (1) = binval2 (aso.read (2)) aso.read (2) Ret (2) = binval2 (aso.read (2)) Cas 464947: aso.read (3) Ret (0) = gif Ret (1) = binval (aso.read (2)) Ret (2) = binval (aso.read (2)) Cas 535746: aso.read (5) bindata = aso.read (1) SCONV = num2str (ASCB (bindata), 2, 8) nbits = str2num (gauche (SCONV, 5), 2) SCONV = MID (SCONV, 6) Tandis que (Len (SCONV) <nbits * 4) bindata = aso.read (1) SCONV = SCONV & NUM2STR (ASCB (BINDATA), 2, 8) se promener Ret (0) = swf Ret (1) = int (ABS (str2num (mid (SCONV, 1 * nbits 1, nbits), 2) -str2num (mid (sconv, 0 * nbits 1, nbits), 2)) / 20) Ret (2) = int (ABS (str2num (mid (SCONV, 3 * nbits 1, nbits), 2) -str2num (mid (sconv, 2 * nbits 1, nbits), 2) / 20) cas ffd8ff: FAIRE do: p1 = binval (aso.read (1)): boucle tandis que p1 = 255 et non aso.eos Si p1> 191 et p1 <196, la sortie a else.read (binval2 (aso.read (2)) - 2) do: p1 = binval (aso.read (1)): boucle tandis que p1 <255 et non aso.eos Boucle tandis que vrai aso.read (3) Ret (0) = jpg Ret (2) = binval2 (aso.read (2)) Ret (1) = binval2 (aso.read (2)) cas aille: Si vous êtes laissé (bin2str (bflag), 2) = bm alors aso.read (15) Ret (0) = bmp Ret (1) = binval (aso.read (4)) Ret (2) = binval (aso.read (4)) autre Ret (0) = terminer si fin de sélection Ret (3) = largeur = & ret (1) et hauteur = & Ret (2) & GetImageSize = ret Fonction finale Classe finale %> |
Copiez le code ci-dessus pour générer des fichiers GPS.asp, afin que la classe générale de la taille de l'image sans composants soit OK.
2. Maintenant, nous concevons d'abord une page showImg.asp pour afficher une carte TAP et des informations connexes. La conception spécifique est la suivante:
image:
Format d'image: