Pertama -tama, kita tahu bahwa gambar di halaman adalah kode berikut:
<img src = pic.gif border = 0 lebar = 300 tinggi = 260>
SRC adalah jalur gambar, perbatasan mengontrol lebar gambar, lebar adalah panjang gambar, dan tinggi adalah ketinggian gambar. Generasi diagram sempit sebenarnya memperbesar ukuran aslinya. Tetapi agar distorsi mungkin, kita akan berskala proporsional. Akibatnya, ukuran panjang dan lebar gambar juga telah menjadi fokus diagram defleksi.
Berikut ini adalah langkah penulisan tanpa komponen untuk menghasilkan thumbnail:
1. Dapatkan ukuran gambar tanpa komponen
Sebelum saya belajar ASP, saya melihat sebuah artikel menggunakan kode ASCII untuk mendapatkan ukuran gambar tanpa komponen. Kemudian, saya mencobanya dan menemukan bahwa ketika mendapatkan ukuran kelas JPG, itu tidak selalu ditampilkan dengan benar. Solusi. Kemudian, Google kemudian ditemukan sebuah artikel yang memperkenalkan ukuran ukuran gambar menggunakan ADODB.Stream
Gunakan adodb.stream untuk mendapatkan kelas umum ukuran gambar
| Berikut ini adalah fragmen kode: <% '/////////// GPS: get imprure size ///////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////////////////////////////////// Gons '////////////// Gunakan adodb.stream untuk mendapatkan ukuran gambar /////////////// '//////// dikutip oleh Leon (Xinqing) 11 Agustus 2005 //////////// GPS kelas Redup aso Private Sub Class_initialize Set aso = createObject (adodb.stream) aso.mode = 3 aso.type = 1 aso.open Akhir sub Sub Class_Terminate pribadi atur aso = tidak ada Akhir sub Fungsi pribadi bin2str (bin) Redup i, str Untuk i = 1 ke lenb (bin) clow = midb (bin, i, 1) Jika ASCB (Clow) <128 lalu Str = str & chr (ascb (clow)) Kalau tidak I = i 1 Jika i <= lenb (bin) maka str = str & chr (ascw (midb (bin, i, 1) & clow))) akhiri jika Berikutnya Bin2str = str Fungsi akhir Fungsi pribadi num2str (num, basis, lensa) 'GPS (2005-8-11) redup red Ret = While (num> = base) Ret = (basis mod num) & ret num = (num -num mod base)/basis pergi ke Num2str = right (string (lensa, 0) & num & ret, lensa) Fungsi akhir Fungsi pribadi str2num (str, base) 'GPS (2005-8-11) redup red Ret = 0 untuk i = 1 ke len (str) Ret = ret *basis cint (mid (str, i, 1)) Berikutnya Str2num = ret Fungsi akhir Binval fungsi pribadi (bin) 'GPS (2002-8-11) redup red Ret = 0 untuk i = lenb (bin) hingga 1 langkah -1 Ret = ret *256 ASCB (midb (bin, i, 1)) Berikutnya Binval = ret Fungsi akhir Fungsi pribadi binval2 (bin) 'GPS (2002-8-11) redup red Ret = 0 untuk i = 1 ke lenb (bin) Ret = ret *256 ASCB (midb (bin, i, 1)) Berikutnya Binval2 = ret Fungsi akhir '/// Berikut ini adalah kode panggilan /// Function getImageSize (filespec) 'GPS (2002-8-11) Red red (3) Aso.LoadFromFile (FileSpec) bflag = aso.read (3) Pilih case hex (binval (bflag)) Kasus 4E5089: Aso.Read (15) Ret (0) = png Ret (1) = binval2 (aso.read (2)) Aso.Read (2) Ret (2) = binval2 (aso.read (2)) Kasus 464947: Aso.read (3) Ret (0) = gif Ret (1) = binval (aso.read (2)) Ret (2) = binval (aso.read (2)) Kasus 535746: Aso.Read (5) bindata = aso.read (1) Sconv = num2str (ascb (bindata), 2, 8) nbits = str2num (kiri (sconv, 5), 2) Sconv = mid (sconv, 6) While (len (sconv) <nbits*4) bindata = aso.read (1) Sconv = sconv & num2str (ascb (bindata), 2, 8) pergi ke 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) case ffd8ff: MELAKUKAN do: p1 = binval (aso.read (1)): loop sementara p1 = 255 dan bukan aso.eos Jika P1> 191 dan P1 <196 Exit Do Else.Read (Binval2 (Aso.Read (2))-2) do: p1 = binval (aso.read (1)): loop sementara p1 <255 dan bukan aso.eos Loop saat benar Aso.read (3) Ret (0) = jpg Ret (2) = binval2 (aso.read (2)) Ret (1) = binval2 (aso.read (2)) kasus lain: Jika kiri (bin2str (bflag), 2) = bm lalu Aso.Read (15) Ret (0) = BMP Ret (1) = binval (aso.read (4)) Ret (2) = binval (aso.read (4)) kalau tidak Ret (0) = akhiri jika Akhiri Pilih Ret (3) = lebar = & ret (1) & tinggi = & Ret (2) & GetImageSize = ret Fungsi akhir Kelas akhir %> |
Salin kode di atas untuk menghasilkan file GPS.asp, sehingga kelas umum ukuran gambar tanpa komponen OK.
2. Sekarang kami pertama kali merancang halaman showimg.asp untuk menampilkan peta ketuk dan informasi terkait. Desain spesifiknya adalah sebagai berikut:
gambar:
Format gambar: