中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

如何實(shí)現(xiàn)asp無組件生成縮略圖
來源:易賢網(wǎng) 閱讀:908 次 日期:2014-09-19 10:08:35
溫馨提示:易賢網(wǎng)小編為您整理了“如何實(shí)現(xiàn)asp無組件生成縮略圖”,方便廣大網(wǎng)友查閱!

網(wǎng)上有不少生成縮略圖的ASP組件。若你的虛擬空間不支持注冊(cè)新組件,可能會(huì)感覺自己的網(wǎng)站失色不少。心晴不才,結(jié)合網(wǎng)上資源寫了個(gè)無組件生成縮略圖程序,僅供參考。

還是先看看基礎(chǔ)部分吧。首先,我們知道在頁面中顯示圖片是如下代碼:

<img src="pic.gif" border="0" width="300" height="260">

src是圖片路徑,border控制圖片邊緣寬度,width是圖片的長(zhǎng)度,height是圖片的高度。縮略圖的生成其實(shí)就是在原始尺寸上縮放。但一般為了盡量少失真,我們都會(huì)按比例縮放。于是,獲取圖片的長(zhǎng)寬尺寸也就成了生成縮略圖的重點(diǎn)。

下面便是編寫無組件生成縮略圖的步驟:

1.無組件獲取圖片大小

以前剛學(xué)ASP不久時(shí)看到過一篇利用ASCII碼實(shí)現(xiàn)無組件獲取圖片尺寸的文章。后來試了試,發(fā)現(xiàn)在獲取jpg類圖片尺寸時(shí)總是不能正確顯示,在網(wǎng)上查了查,居然有不少網(wǎng)站轉(zhuǎn)載這個(gè)程序,但沒有一家指出此程序的缺陷,也就更談不上解決缺陷的辦法了。后來又google了一下,終于找到了一篇介紹利用ADODB.stream獲取圖片尺寸的文章,按其介紹的方法,修改里面的代碼試了試,效果真的還不錯(cuò),現(xiàn)在將其拿出來與大家分享:

利用ADODB.stream獲取圖片尺寸的通用類

<%

'//////////// GPS:Get Picture Size //////////////

'//////////////利用ADODB.stream獲取圖片尺寸//////////////

'/////////Cited By Leon(心晴) 2005年8月11日//////////

Class GPS

Dim aso

Private Sub Class_Initialize

Set aso=CreateObject("Adodb.Stream")

aso.Mode=3

aso.Type=1

aso.Open

End Sub

Private Sub Class_Terminate

set aso=nothing

End Sub

Private Function Bin2Str(Bin)

Dim I, Str

For I=1 to LenB(Bin)

clow=MidB(Bin,I,1)

if AscB(clow)<128 then

Str = Str & Chr(ASCB(clow))

Else

I=I+1

if I <= LenB(Bin) then Str = Str & Chr(ASCW(MidB(Bin,I,1)&clow))

end If

Next

Bin2Str = Str

End Function

Private Function Num2Str(num,base,lens)

'GPS (2005-8-11)

dim ret

ret = ""

while(num>=base)

ret = (num mod base) & ret

num = (num - num mod base)/base

wend

Num2Str = right(string(lens,"0") & num & ret,lens)

End Function

Private Function Str2Num(str,base)

'GPS (2005-8-11)

dim ret

ret = 0

for i=1 to len(str)

ret = ret *base + cint(mid(str,i,1))

next

Str2Num=ret

End Function

Private Function BinVal(bin)

'GPS (2002-8-11)

dim ret

ret = 0

for i = lenb(bin) to 1 step -1

ret = ret *256 + ascb(midb(bin,i,1))

next

BinVal=ret

End Function

Private Function BinVal2(bin)

'GPS (2002-8-11)

dim ret

ret = 0

for i = 1 to lenb(bin)

ret = ret *256 + ascb(midb(bin,i,1))

next

BinVal2=ret

End Function

'///以下是調(diào)用代碼///

Function getImageSize(filespec)

'GPS (2002-8-11)

dim ret(3)

aso.LoadFromFile(filespec)

bFlag=aso.read(3)

select case hex(binVal(bFlag))

case "4E5089":

aso.read(15)

ret(0)="PNG"

ret(1)=BinVal2(aso.read(2))

aso.read(2)

ret(2)=BinVal2(aso.read(2))

case "464947":

aso.read(3)

ret(0)="GIF"

ret(1)=BinVal(aso.read(2))

ret(2)=BinVal(aso.read(2))

case "535746":

aso.read(5)

binData=aso.Read(1)

sConv=Num2Str(ascb(binData),2 ,8)

nBits=Str2Num(left(sConv,5),2)

sConv=mid(sConv,6)

while(len(sConv)<nBits*4)

binData=aso.Read(1)

sConv=sConv&Num2Str(ascb(binData),2 ,8)

wend

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":

do

do: p1=binVal(aso.Read(1)): loop while p1=255 and not aso.EOS

if p1>191 and p1<196 then exit do else aso.read(binval2(aso.Read(2))-2)

do:p1=binVal(aso.Read(1)):loop while p1<255 and not aso.EOS

loop while true

aso.Read(3)

ret(0)="JPG"

ret(2)=binval2(aso.Read(2))

ret(1)=binval2(aso.Read(2))

case else:

if left(Bin2Str(bFlag),2)="BM" then

aso.Read(15)

ret(0)="BMP"

ret(1)=binval(aso.Read(4))

ret(2)=binval(aso.Read(4))

else

ret(0)=""

end if

end select

ret(3)="width=""" & ret(1) &""" height="""

& ret(2) &""""

getimagesize=ret

End Function

End Class

%>

將以上代碼復(fù)制生成GPS.asp文件,這樣無組件獲取圖片尺寸的通用類就OK了。

2.獲取圖片路徑

由于不只一張圖片,以及圖片需分類存放,我們?cè)跀?shù)據(jù)庫中設(shè)計(jì)了一個(gè)存放圖片相對(duì)路徑的字段ImgURL。我們把上傳的圖片都放在一個(gè)名為images的文件夾中(至于如何無組件上傳圖片心晴就不在多說了)。現(xiàn)在我們先設(shè)計(jì)一個(gè)ShowImg.asp頁面用來顯示縮略圖及相關(guān)信息。具體設(shè)計(jì)如下:

圖片:

圖片格式:

圖片尺寸:

圖片大小:

點(diǎn)擊次數(shù):

下面,我們獲取圖片的絕對(duì)路徑。代碼如下:

<%

'/////獲取ShowImg.asp的絕對(duì)路徑/////

Dim curFile

curFile=Server.mappath(Request.servervariables("PATH_INFO"))

Dim curfilename,filename

'/////圖片相對(duì)路徑(存于數(shù)據(jù)庫中)

cufilename=rs("ImgURL")

'/////因?yàn)镾howImg.asp與images在同一目錄,所以我們用instrrev獲取images的路徑/////

filename=left(curFile,instrrev(curFile,""))&cufilename

'/////建立GPS類實(shí)體/////

Dim GetPicSize

Set GetPicSize=new GPS

Set fs=Server.CreateObject("Scripting.FileSystemObject")

'/////獲取圖片類型/////

Dim PicSuffixName

PicSuffixName=fs.GetExtensionName(filename)

Dim PD '//Picture Dimension

Dim PWidth,PHeight

Select Case PicSuffixName

Case "gif","bmp","jpg","png":

'/////調(diào)用GPS通用類中的GetImageSize函數(shù)獲取圖片尺寸/////

PD=GetPicSize.GetImageSize(filename)

PWidth=PD(1) '//獲取圖片寬度

PHeight=PD(2) '//獲取圖片高度

Case "swf"

PD=GetPicSize.GetImageSize(filename)

PWidth=PD(1) '//獲取Flash寬度

PHeight=PD(2) '//獲取Flash高度

Case Else

End Select

Set fs=Nothing

Set GetPicSize=Nothing

%>

將上面的代碼復(fù)制到<body>的上面就OK了!

當(dāng)然,有人會(huì)說,獲取路徑不一定要用PATH_INFO,直接用server.mappath()不就可以了嘛,呵呵,蘿卜青菜各有所愛,主要是我用PATH_INFO可以實(shí)現(xiàn)FSO的一些功能而用server.mappath()沒有搞定,所以一直使用這個(gè)。

3.定義縮略圖尺寸

這部分代碼就是仁者見仁,智者見智了。首先,我們需要規(guī)定縮略圖顯示尺寸范圍,譬如:300X260,代碼可以這樣寫:

<%

Dim PXWidth,PXHeight

Dim Pp '//Proportion

If PWidth=0 Or PWidth="" Then

PXWidth=0

PXHeight=0

Else

Pp=FormatNumber(PWidth/PHeight,2) '//長(zhǎng)寬比

End If

If PWidth>=PHeight Then

If PWidth>=300 Then

PXWidth=300

PXHeight=FormatNumber(300/Pp,0)

Else

PXWidth=PWidth

PXHeight=PHeight

End If

Else

If PHeight>=260 Then

PXHeight=260

PXWidth=FormatNumber(260*Pp,0)

Else

PXWidth=PWidth

PXHeight=PHeight

End If

End If

%>

將上面的代碼緊接第二步寫下即可。調(diào)用時(shí)代碼如下:

<img src=<%=curfilename%> border="0" width=<%=PXWidth%>

height=<%=PXHeight%>>

至于圖片格式可以用得到,圖片尺寸可以寫成

<%

response.write PXWidth&"X"&PXHeight

%>

圖片大小可以用FSO.GetFileSize(filename)來實(shí)現(xiàn),而點(diǎn)擊次數(shù)可以簡(jiǎn)單地用SQL語句實(shí)現(xiàn),具體編碼就不再累述了。

這樣,一個(gè)無組件生成縮略圖程序就寫好了,可能有點(diǎn)拿來主義,不過只要大家能將方法掌握相信還是有很大提高的。

更多信息請(qǐng)查看IT技術(shù)專欄

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:如何實(shí)現(xiàn)asp無組件生成縮略圖
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2026上岸·考公考編培訓(xùn)報(bào)班

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
99精品国产一区二区青青牛奶| 欧美成人亚洲| 国产精品久久久久久久久婷婷| 欧美成人乱码一区二区三区| 久久精品国产在热久久| 欧美一区观看| 看欧美日韩国产| 久久在线91| 免费成人在线观看视频| 久久夜色精品国产亚洲aⅴ| 国产亚洲欧洲| 国产精品视频一二三| 欧美日韩一区二区三区高清| 久久理论片午夜琪琪电影网| 欧美一区二区三区四区在线| 一区二区三区四区蜜桃| 国产精品99久久久久久久vr| 亚洲天天影视| 亚洲欧美变态国产另类| 久久色中文字幕| 一本色道久久综合狠狠躁篇的优点 | 亚洲精品一区久久久久久| 好看的日韩av电影| 国产精品理论片| 国产日韩在线视频| 国产真实久久| 亚洲国产精品免费| 中文无字幕一区二区三区| 国产欧美日韩在线观看| 国产精品久久久久高潮| 国产欧美三级| 国产精品蜜臀在线观看| 一区二区三区我不卡| 中日韩美女免费视频网站在线观看| 亚洲无线一线二线三线区别av| 欧美一区二区精美| 亚洲精品久久久久| 久久久999精品免费| 欧美视频福利| 国产一区二区你懂的| 日韩视频在线观看| 久久亚洲高清| 黑人中文字幕一区二区三区| 欧美激情片在线观看| 狠狠干成人综合网| 午夜精品福利一区二区三区av| 国产日本欧美一区二区| 亚洲一区二三| 欧美午夜久久久| 亚洲午夜国产一区99re久久| 欧美日韩天天操| 夜夜夜精品看看| 欧美大片在线观看| 激情视频亚洲| 久久久久这里只有精品| 国产主播一区二区三区四区| 亚洲影视中文字幕| 欧美日韩四区| 一区二区久久久久| 国产精品天美传媒入口| 亚洲欧美激情视频在线观看一区二区三区 | 亚洲国产影院| 麻豆精品视频在线观看| 国语精品中文字幕| 久久精品国产视频| 国产一区二区三区久久| 久久综合影视| 一区二区三区四区国产精品| 国产欧美亚洲视频| 性欧美超级视频| 在线不卡中文字幕播放| 欧美日韩精品系列| 久久久久国产一区二区三区四区| 永久91嫩草亚洲精品人人| 欧美日本一道本在线视频| 欧美伊人久久大香线蕉综合69| 国产在线拍偷自揄拍精品| 欧美黄色一级视频| 亚洲性线免费观看视频成熟| 曰本成人黄色| 欧美日韩美女一区二区| 欧美尤物巨大精品爽| 一区二区视频在线观看| 欧美日韩小视频| 另类图片综合电影| 久久久久91| 一区二区三区四区五区精品| 欧美日本精品在线| 欧美成人69av| 欧美久久综合| 国产精品国产亚洲精品看不卡15 | 国产日韩高清一区二区三区在线| 欧美激情视频一区二区三区不卡| 美女日韩欧美| 久久亚洲精品伦理| 久久久久国产精品麻豆ai换脸| 欧美日韩亚洲综合一区| 久久综合伊人77777| 欧美华人在线视频| 欧美精品一区二区三区在线播放 | 羞羞色国产精品| 亚洲欧美日韩精品久久久| 亚洲美女色禁图| 亚洲在线一区二区三区| 亚洲一区二区精品在线观看| a4yy欧美一区二区三区| 99综合在线| 久久成年人视频| 日韩亚洲欧美成人一区| 狠狠色丁香婷综合久久| 牛牛精品成人免费视频| 美国十次了思思久久精品导航| 亚洲国产高潮在线观看| 亚洲一区制服诱惑| 久久国产精品一区二区| 日韩一级精品视频在线观看| 亚洲国产精品一区二区久| 亚洲电影有码| 国产真实乱偷精品视频免| 亚洲福利精品| 欧美在线观看视频| 欧美激情亚洲自拍| 日韩小视频在线观看| 久久久精品2019中文字幕神马| 香港久久久电影| 欧美色图五月天| 日韩视频国产视频| 久久久久久综合| 国产主播在线一区| 亚洲欧美日韩成人| 欧美天堂亚洲电影院在线播放| 国产日韩欧美综合精品| 一区二区三区欧美在线| 欧美aⅴ一区二区三区视频| 狠狠色综合网站久久久久久久| 亚洲在线观看免费| 欧美91大片| 亚洲区国产区| 国产精品国产福利国产秒拍| 一本色道久久综合亚洲精品高清| 欧美黄色一区| 中文精品视频| 国产亚洲aⅴaaaaaa毛片| 午夜精品影院| 国内外成人免费视频| 美女诱惑黄网站一区| 亚洲国产日韩欧美综合久久| 欧美在线影院| 亚洲激情电影中文字幕| 久久精品免费看| 国产精品亚洲综合一区在线观看| 香蕉久久夜色精品| 国产在线播放一区二区三区| 蜜桃av综合| 国产精品视区| 女人香蕉久久**毛片精品| 国产美女诱惑一区二区| 久久福利影视| 另类春色校园亚洲| 欧美国产日韩在线观看| 欧美视频二区36p| 国产一区日韩欧美| 亚洲国产一区二区三区高清| 亚洲区免费影片| 亚洲欧美精品一区| 久久国产精品久久久久久电车| 久久蜜桃精品| 欧美日韩一区二区三区四区在线观看| 欧美三级电影一区| 激情久久久久久| 正在播放亚洲| 免费日韩视频| 国产精品青草久久久久福利99| 国产精品亚洲视频| 亚洲三级视频在线观看| 午夜精品久久久久久99热| 噜噜噜躁狠狠躁狠狠精品视频| 欧美日韩亚洲一区| 亚洲国产第一| 久久精品欧美| 国产一区二区三区高清在线观看| 9国产精品视频| 久久中文久久字幕| 国产乱码精品一区二区三区忘忧草 | 国产精品视频久久| 亚洲精品国产拍免费91在线| 亚洲免费在线视频| 国产精品九九| 宅男噜噜噜66国产日韩在线观看| 免费成人在线观看视频| 红桃视频成人| 久久综合综合久久综合| 国产一区亚洲| 久久九九电影| 在线免费观看日本一区| 噜噜噜噜噜久久久久久91| 伊伊综合在线| 久久综合伊人77777尤物| 亚洲福利视频一区| 欧美www视频在线观看|