乐观 发表于 2015-1-16 22:58:18

ASP网页编程之Asp无组件天生缩略图(1)

由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况;缩略图|无组件起首,我们晓得在页面中显现图片是以下代码:  <imgsrc="http://www.163design.net/a/f/pic.gif"border="0"width="300"height="260">
  src是图片路径,border把持图片边沿宽度,width是图片的长度,height是图片的高度。缩略图的天生实在就是在原始尺寸上缩放。但通常是了只管少掉真,我们城市按比例缩放。因而,猎取图片的长宽尺寸也就成了天生缩略图的重点。
  上面即是编写无组件天生缩略图的步骤:
  1.无组件猎取图片巨细
  之前刚学ASP不久时看到过一篇使用ASCII码完成无组件猎取图片尺寸的文章。厥后试了试,发明在猎取jpg类图片尺寸时老是不克不及准确显现,在网上查了查,竟然有很多网站转载这个程序,但没有一家指出此程序的缺点,也就更谈不上办理缺点的举措了。厥后又google了一下,终究找到了一篇先容使用ADODB.stream猎取图片尺寸的文章,按其先容的办法,修正内里的代码试了试,效果然的还不错,如今将其拿出来与人人分享:
  使用ADODB.stream猎取图片尺寸的通用类
<%
////////////GPS:GetPictureSize//////////////
//////////////使用ADODB.stream猎取图片尺寸//////////////
/////////CitedByLeon(心晴)2005年8月11日//////////
ClassGPS
Dimaso
PrivateSubClass_Initialize
Setaso=CreateObject("Adodb.Stream")
aso.Mode=3
aso.Type=1
aso.Open
EndSub
PrivateSubClass_Terminate
setaso=nothing
EndSub
PrivateFunctionBin2Str(Bin)
DimI,Str
ForI=1toLenB(Bin)
clow=MidB(Bin,I,1)
ifAscB(clow)<128then
Str=Str&Chr(ASCB(clow))
Else
I=I+1
ifI<=LenB(Bin)thenStr=Str&Chr(ASCW(MidB(Bin,I,1)&clow))
endIf
Next
Bin2Str=Str
EndFunction
PrivateFunctionNum2Str(num,base,lens)
GPS(2005-8-11)
dimret
ret=""
while(num>=base)
ret=(nummodbase)&ret
num=(num-nummodbase)/base
wend
Num2Str=right(string(lens,"0")&num&ret,lens)
EndFunction
PrivateFunctionStr2Num(str,base)
GPS(2005-8-11)
dimret
ret=0
fori=1tolen(str)
ret=ret*base+cint(mid(str,i,1))
next
Str2Num=ret
EndFunction
PrivateFunctionBinVal(bin)
GPS(2002-8-11)
dimret
ret=0
fori=lenb(bin)to1step-1
ret=ret*256+ascb(midb(bin,i,1))
next
BinVal=ret
EndFunction
PrivateFunctionBinVal2(bin)
GPS(2002-8-11)
dimret
ret=0
fori=1tolenb(bin)
ret=ret*256+ascb(midb(bin,i,1))
next
BinVal2=ret
EndFunction
///以下是挪用代码///
FunctiongetImageSize(filespec)
GPS(2002-8-11)
dimret(3)
aso.LoadFromFile(filespec)
bFlag=aso.read(3)
selectcasehex(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)):loopwhilep1=255andnotaso.EOS
ifp1>191andp1<196thenexitdoelseaso.read(binval2(aso.Read(2))-2)
do:p1=binVal(aso.Read(1)):loopwhilep1<255andnotaso.EOS
loopwhiletrue
aso.Read(3)
ret(0)="JPG"
ret(2)=binval2(aso.Read(2))
ret(1)=binval2(aso.Read(2))
caseelse:
ifleft(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)=""
endif
endselect
ret(3)="width="""&ret(1)&"""height="""
&ret(2)&""""
getimagesize=ret
EndFunction
EndClass
%>
  将以上代码复制天生GPS.asp文件,如许无组件猎取图片尺寸的通用类就OK了。


</p>因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQLServer还有更多的扩展,可以用存储过程,数据库大小无极限限制。

蒙在股里 发表于 2015-1-17 11:13:58

ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。

admin 发表于 2015-1-20 05:18:19

学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。

金色的骷髅 发表于 2015-2-2 14:19:03

封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。

飘灵儿 发表于 2015-2-3 18:41:59

还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。

简单生活 发表于 2015-2-9 04:24:41

兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的

爱飞 发表于 2015-2-26 22:03:30

ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。

透明 发表于 2015-3-8 18:12:59

如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:

深爱那片海 发表于 2015-3-16 09:31:25

最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。

仓酷云 发表于 2015-3-22 22:09:22

运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。

小女巫 发表于 2015-3-22 22:09:22

ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
页: [1]
查看完整版本: ASP网页编程之Asp无组件天生缩略图(1)