Zunächst wissen wir, dass das Bild auf der Seite der folgende Code ist:
<img src = pic.gif Border = 0 Breite = 300 Höhe = 260>
SRC ist der Bildpfad, der Rand steuert die Breite des Bildes, die Breite ist die Länge des Bildes und die Höhe des Bildes. Die Erzeugung eines schmalen Diagramms zoomt tatsächlich in der ursprünglichen Größe. Um so weit wie möglich zu verzerrt, werden wir proportional skaliert. Infolgedessen ist die Länge und Breite des Bildes auch zum Fokus eines Ablenkungsdiagramms geworden.
Das Folgende ist der Schritt des Schreibens ohne Komponenten, um eine Miniaturansicht zu generieren:
1. Holen Sie sich die Bildgröße ohne Komponenten
Bevor ich ASP lernte, sah ich einen Artikel mit dem ASCII -Code, um die Bildgröße ohne Komponenten zu erhalten. Später versuchte ich es und stellte fest, dass bei der Erlangung der Größe der JPG -Klasse nicht immer korrekt angezeigt wurde. Lösung. Später wurde Google ein Artikel gefunden, der die Größe der Bildgröße unter Verwendung von ADODB.Stream einführte
Verwenden Sie adodb.stream, um die allgemeine Bildklasse der Bildgröße zu erhalten
| Das Folgende ist das Codefragment: <% '///////////// GPS: Holen Sie sich die Implementierung der Größe //////////////////////////////. ////////////////////////////////////////////////// ////////////////////////////////////////////////// //////////////////////////////////////////// Gons '/////////////// adodb.stream, um die Bildgröße zu erhalten ///////////// '//////// Zitiert von Leon (Xinqing) 11. August 2005 /////////// Klasse GPS Dim Aso Private sub class_initialize Setzen Sie ASO = createObject (adodb.stream) ASO.MODE = 3 ASO.Type = 1 ASO.Open Ende sub Private sub class_terate Setzen Sie ASO = nichts Ende sub Private Funktion Bin2str (Bin) Dim i, str Für i = 1 bis lenb (bin) Clow = Midb (bin, i, 1) Wenn ASCB (Clow) <128 dann STR = STR & CHR (ASCB (Clow)) Anders I = i 1 Wenn ich <= lenb (bin) dann Str = str & chr (ASCW (MIDB (Bin, I, 1) & Clow)) Ende wenn Nächste Bin2str = str Endfunktion Private Funktion Num2str (Num, Basis, Linse) 'GPS (2005-8-11) Dim Ret Ret = While (num> = base) Ret = (num mod base) & ret num = (num -num mod base)/base Wend Num2str = rechts (String (Linse, 0) & Num & Ret, Objektiv) Endfunktion Private Funktion Str2num (STR, Basis) 'GPS (2005-8-11) Dim Ret Ret = 0 für i = 1 bis len (str) Ret = ret *base cint (Mid (str, i, 1)) nächste Str2num = ret Endfunktion Private Funktion Binval (Bin) 'GPS (2002-8-11) Dim Ret Ret = 0 für i = lenb (bin) bis 1 Schritt -1 Ret = ret *256 ASCB (Midb (bin, i, 1)) nächste Binval = ret Endfunktion Private Funktion Binval2 (Bin) 'GPS (2002-8-11) Dim Ret Ret = 0 für i = 1 bis lenb (bin) Ret = ret *256 ASCB (Midb (bin, i, 1)) nächste Binval2 = ret Endfunktion '/// Folgendes ist der Anrufcode /// Funktion getImageSize (filespec) 'GPS (2002-8-11) Dim Ret (3) ASO.LOADFROMFILE (filespec) Bflag = ASO.Read (3) Wählen Sie Case Hex (Binval (Bflag)) Fall 4E5089: ASO.Read (15) Ret (0) = png Ret (1) = Binval2 (ASO.Read (2)) ASO.Read (2) Ret (2) = Binval2 (ASO.Read (2)) Fall 464947: ASO.Read (3) Ret (0) = gif Ret (1) = binval (aso.read (2)) Ret (2) = binval (aso.read (2)) Fall 535746: ASO.Read (5) bindata = aso.read (1) SCONV = Num2str (ASCB (Bindata), 2, 8) NBits = str2num (links (SCONV, 5), 2) Sconv = mid (sconv, 6) While (len (sconv) <Nbits*4) bindata = aso.read (1) SCONV = SCHONV & NUM2STR (ASCB (BINDATA), 2, 8) Wend Ret (0) = SWF Ret (1) = int (ABS (str2num (Mid (SCONV, 1*NBit 1, Nbits), 2) -Str2num (MID (SCHONV, 0*NBITS 1, NBITS), 2))/20) Ret (2) = int (ABS (str2num (Mid (SCONV, 3*NBit 1, Nbits), 2) -Str2num (Mid (SOBONV, 2*NBit 1, Nbits), 2)/20) Fall FFD8ff: TUN Do: p1 = binval (ASO.Read (1)): Schleife während P1 = 255 und nicht ASO.eos Wenn P1> 191 und P1 <196 der Ausgang sonst datieren.read (Binval2 (ASO.Read (2))-2) Do: p1 = binval (ASO.Read (1)): Schleife während P1 <255 und nicht ASO.eos Schleife während wahr ASO.Read (3) Ret (0) = jpg Ret (2) = Binval2 (ASO.Read (2)) Ret (1) = Binval2 (ASO.Read (2)) Fall sonst: Wenn Sie links (bin2str (Bflag), 2) = BM dann dann ASO.Read (15) Ret (0) = bmp Ret (1) = binval (aso.read (4)) Ret (2) = binval (aso.read (4)) anders Ret (0) = Ende wenn Ende auswählen Ret (3) = width = & ret (1) & Höhe = & Ret (2) & GetImagesize = ret Endfunktion Endklasse %> |
Kopieren Sie den obigen Code, um GPS.asp -Dateien zu generieren, damit die allgemeine Klasse der Bildgröße ohne Komponenten in Ordnung ist.
2. Jetzt entwerfen wir zunächst eine Seite "showimg.asp", um eine Tap -Karte und verwandte Informationen anzuzeigen. Das spezifische Design lautet wie folgt:
Bild:
Bildformat: