Saat menampilkan produk di depan situs web, biasanya digunakan thumbnail. Klik untuk masuk dan kemudian lihat gambar besarnya.
Thumbnail membawa dua masalah:
1. Jika hanya satu gambar besar yang dikirim ke latar belakang, lebar dan tinggi gambar besar hanya akan ditetapkan saat menampilkan thumbnail. Hal ini tidak hanya akan menyebabkan thumbnail berubah bentuk, tetapi juga memperlambat kecepatan akses halaman.
2. Jika latar belakang mengunggah dua gambar setiap kali, satu gambar besar dan satu gambar mini. Dalam hal ini, tidak ada masalah di 1, tetapi akan menimbulkan banyak masalah bagi staf backend. Karena staf backend belum tentu mengetahui cara memproses dan membuat thumbnail meskipun mereka mengetahui dan dapat memprosesnya dengan cepat, beberapa waktu terbuang sia-sia;
Kode berikut dapat membantu Anda menggunakan komponen AspJpeg untuk menghasilkan thumbnail sesuai dengan rasio lebar dan tinggi.
Unduhan komponen AspJpeg: http://www.aspjpeg.com/download.html
Penggunaan komponen AspJpeg: http://www.mydw.cn/tech/1/766.html
Kode registrasi: 48958-77556-02411
<%
Redupkan OriginalPath
sOriginalPath = "gambar/1.gif"
'Jalur gambar asli umumnya diperoleh setelah diunggah, atau
Dim diperoleh dari database sReturnInfo, sSmallPath 'Fungsi mengembalikan informasi, jalur thumbnail
sReturnInfo = BuildSmallPic(sOriginalPath, "images", 100, 100)
Response.Tulis "Informasi pengembalian:" & sReturnInfo & "<br/>"
Jika InStr(sReturnInfo, "Error_") <= 0 Lalu
sSmallPath = sReturnInfo 'Informasi pengembaliannya adalah
'Tulis sSmallPath ke database
'
Kalau tidak
Response.Tulis "Kesalahan detail:"
Pilih Kasus sReturnInfo
Kasus "Kesalahan_01"
Response.Write "<font color='red'>Gagal membuat komponen AspJpeg, komponen tidak diinstal dan didaftarkan dengan benar</font>" & "<br/>"
Kasus "Kesalahan_02"
Response.Tulis "<font color='red'>Gambar asli tidak ada, periksa nilai yang diteruskan di parameter s_OriginalPath</font>" & "<br/>"
Kasus "Kesalahan_03"
Response.Write "<font color='red'>Penyimpanan thumbnail gagal. Kemungkinan alasan: alamat dasar untuk menyimpan thumbnail tidak ada, periksa nilai yang diteruskan dalam parameter s_OriginalPath; tidak ada izin menulis ke direktori; ruang disk tidak mencukupi< /font>" & "<br/>"
Kasus "Kesalahan_Lainnya"
Respon.Tulis "<font color='red'>Kesalahan tidak diketahui</font>" & "<br/>"
Pilihan Akhir
Respon.Akhir
Berakhir Jika
%>
Nama file asli: <%=sOriginalPath%><br/>
Nama file gambar kecil: <%=sSmallPath%><br/>
Gambar asli: <img src='<%=sOriginalPath%>' border=0><br/><br/>
Gambar kecil: <img src='<%=sSmallPath%>' border=0>
<%
' ===== = ===============
'Penulis:laifangsong QQ:25313644
'Fungsi: Menghasilkan thumbnail berdasarkan gambar tertentu
'Catatan: "Jalur" yang disebutkan di bawah ini adalah semua jalur relatif terhadap file yang memanggil fungsi ini.
'parameter:
' s_OriginalPath: Contoh jalur gambar asli: images/image1.gif
' s_BuildBasePath: Jalur dasar untuk menghasilkan gambar, terlepas dari apakah diakhiri dengan "/", misalnya: gambar atau gambar/
' n_MaxWidth: Menghasilkan lebar maksimum gambar
' Jika thumbnail yang ditampilkan di latar depan adalah 100*100, di sini n_MaxWidth=100, n_MaxHeight=100.
' n_MaxHeight: Menghasilkan tinggi maksimum gambar
'Nilai pengembalian:
'Kembalikan jalur gambar mini yang dihasilkan
'Penanganan kesalahan:
' Jika terjadi kesalahan selama eksekusi fungsi, kode kesalahan akan dikembalikan. Kode kesalahan dimulai dengan "Error"
' Error_01: Gagal membuat komponen AspJpeg, komponen tidak diinstal dan didaftarkan dengan benar.
' Error_02: Gambar asli tidak ada, periksa nilai yang diteruskan dalam parameter s_OriginalPath
' Error_03: Penyimpanan thumbnail gagal. Kemungkinan alasan: Alamat dasar penyimpanan thumbnail tidak ada, periksa nilai yang diteruskan dalam parameter s_OriginalPath tidak ada izin menulis ke direktori;
' Error_Other: Kesalahan tidak diketahui
'Contoh panggilan:
Jalur thumbnail 'Redupkan sSmallPath'
' sSmallPath = BuildSmallPic("gambar/gambar1.gif", "gambar", 100, 100)
' ===== = ===============
Fungsi BuildSmallPic(s_OriginalPath, s_BuildBasePath, n_MaxWidth, n_MaxHeight)
Err. Jelas
Pada Kesalahan Lanjutkan Berikutnya
'Periksa apakah komponen telah terdaftar
DimAspJpeg
Setel AspJpeg = Server.Createobject("Persits.Jpeg")
Jika Err.Number <> 0 Lalu
Err. Jelas
BuildSmallPic = "Kesalahan_01"
Fungsi Keluar
End If
'Periksa apakah gambar aslinya ada
Dims_MapOriginalPath
s_MapOriginalPath = Server.MapPath(s_OriginalPath)
AspJpeg.Open s_MapOriginalPath 'Buka gambar aslinya
Jika Err.Number <> 0 Lalu
Err. Jelas
BuildSmallPic = "Kesalahan_02"
Fungsi Keluar
End If
'Dapatkan lebar dan tinggi thumbnail secara proporsional
Redupkan n_OriginalWidth, n_OriginalHeight 'Lebar dan tinggi gambar asli
Redupkan n_BuildWidth, n_BuildHeight 'Lebar thumbnail, tinggi
Redupkan div1, div2
Redupkan n1, n2
n_OriginalWidth = AspJpeg.Lebar
n_OriginalHeight = AspJpeg.Tinggi
div1 = n_Lebar Asli / n_Tinggi Asli
div2 = n_Tinggi Asli / n_Lebar Asli
n1 = 0
n2 = 0
Jika n_OriginalWidth > n_MaxWidth Lalu
n1 = n_Lebar Asli / n_Lebar Maks
Kalau tidak
n_BuildWidth = n_OriginalWidth
Akhiri Jika
Jika n_OriginalHeight > n_MaxHeight Lalu
n2 = n_Tinggi Asli / n_Tinggi Maks
Kalau tidak
n_BuildHeight = n_OriginalHeight
Akhiri Jika
Jika n1 <> 0 Atau n2 <> 0 Maka
Jika n1 > n2 Maka
n_BuildWidth = n_MaxWidth
n_BuildHeight = n_MaxWidth * div2
Kalau tidak
n_BuildWidth = n_MaxHeight * div1
n_BuildHeight = n_MaxHeight
Akhiri Jika
End If
'Tentukan lebar dan tinggi yang akan dihasilkan
AspJpeg.Lebar = n_BuildWidth
AspJpeg.Tinggi = n_BuildHeight
'--Mulai menyimpan thumbnail--
Redupkan pos, s_OriginalFileName, s_OriginalFileExt 'Posisi, nama file asli, ekstensi file asli
pos = InStrRev(s_OriginalPath, "/") + 1
s_OriginalFileName = Tengah(s_OriginalPath, pos)
pos = InStrRev(s_OriginalFileName, ".")
s_OriginalFileExt = Pertengahan(s_OriginalFileName, pos)
Redupkan s_MapBuildBasePath, s_MapBuildPath, s_BuildFileName 'Jalur absolut thumbnail, nama file thumbnail
Dim s_EndFlag 'Contoh tag penutup nama file gambar kecil: Jika nama file gambar besar adalah "image1.gif" dan tag penutupnya adalah "_small", maka nama file gambar kecil adalah "image1_small.gif"
Jika Benar(s_BuildBasePath, 1) <> "/" Maka s_BuildBasePath = s_BuildBasePath & "/"
s_MapBuildBasePath = Server.MapPath(s_BuildBasePath)
s_EndFlag = "_small" 'Bisa custom, asal bisa dibedakan ukuran gambarnya
s_BuildFileName = Ganti(s_OriginalFileName, s_OriginalFileExt, "") & s_EndFlag & s_OriginalFileExt
s_MapBuildPath = s_MapBuildBasePath & "" & s_BuildFileName
AspJpeg.Simpan s_MapBuildPath 'Simpan
Jika Err.Number <> 0 Lalu
Err. Jelas
BuildSmallPic = "Kesalahan_03"
Fungsi Keluar
Akhiri Jika
'--Simpan thumbnail ke disk--
'Keluar dari instance
Setel AspJpeg = Tidak Ada
Jika Err.Number <> 0 Lalu
BuildSmallPic = "Error_Other"
Err. Jelas
Akhiri Jika
BuildSmallPic = s_BuildBasePath & s_BuildFileName
Fungsi Akhir
%>