仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 586|回复: 9
打印 上一主题 下一主题

[学习教程] ASP编程:一个取图片尺寸的类,撑持jpg,gif,png

[复制链接]
分手快乐 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:39:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
问题是他们究竟是喜欢他们是使用软件时,速度快还是速度慢好.(当然在3秒以内).无论是他们输入资料时,查找资料时,分析资料时.Ihavereleasedthissourcecodeintothepublicdomain.Youmayuseit
withnostringsattached.
JustcallGetImageSizewithastringcontainingthefilename,and
itwillreturnauserdefinedtypeImageSize(seebelow)
Returnvaluesof0indicateanerrorofsomesort.Theerrorhandling
inthismoduleislimited.Thereis*NO*errorhandlingonthetest
form.ThisroutineislimitedtoXorYsizesof32767pixels,butthat
shouldnotbeaproblem.

Checkbackathttp://www.qtm.net/~davidc
Imayaddsupportformorefiletypes.

supportedinthisversion:
JPEG
GIF
PNG

ThisroutinedoesnotrequireanyroyaltyfeesforUnisysasit
doesnothingwiththecompressedpartofGIFfiles.Itsimplyreads
4bytestodetermineimagesize.

OptionExplicit
PublicWImgAsLong
PublicHImgAsLong
PublicTypeImageSize
WidthAsLong
HeightAsLong
EndType

PublicSubGetImageSize(sFileNameAsString)
OnErrorResumeNextyoullwanttochangethis
DimiFNAsInteger
DimbTemp(3)AsByte
DimlFlenAsLong
DimlPosAsLong
DimbHmsbAsByte
DimbHlsbAsByte
DimbWmsbAsByte
DimbWlsbAsByte
DimbBuf(7)AsByte
DimbDoneAsByte
DimiCountAsInteger

lFlen=FileLen(sFileName)
iFN=FreeFile
OpensFileNameForBinaryAsiFN
Get#iFN,1,bTemp()

PNGfile
IfbTemp(0)=&H89AndbTemp(1)=&H50AndbTemp(2)=&H4E_
AndbTemp(3)=&H47Then
Get#iFN,19,bWmsb
Get#iFN,20,bWlsb
Get#iFN,23,bHmsb
Get#iFN,24,bHlsb
GetImageSize.Width=CombineBytes(bWlsb,bWmsb)
GetImageSize.Height=CombineBytes(bHlsb,bHmsb)
WImg=CombineBytes(bWlsb,bWmsb)
HImg=CombineBytes(bHlsb,bHmsb)
EndIf

GIFfile
IfbTemp(0)=&H47AndbTemp(1)=&H49AndbTemp(2)=&H46_
AndbTemp(3)=&H38Then
Get#iFN,7,bWlsb
Get#iFN,8,bWmsb
Get#iFN,9,bHlsb
Get#iFN,10,bHmsb
GetImageSize.Width=CombineBytes(bWlsb,bWmsb)
GetImageSize.Height=CombineBytes(bHlsb,bHmsb)
WImg=CombineBytes(bWlsb,bWmsb)
HImg=CombineBytes(bHlsb,bHmsb)
EndIf


JPEGfile
IfbTemp(0)=&HFFAndbTemp(1)=&HD8AndbTemp(2)=&HFFThen
Debug.Print"JPEG"
lPos=3
Do
Do
Get#iFN,lPos,bBuf(1)
Get#iFN,lPos+1,bBuf(2)
lPos=lPos+1
LoopUntil(bBuf(1)=&HFFAndbBuf(2)&HFF)OrlPos>lFlen

ForiCount=0To7
Get#iFN,lPos+iCount,bBuf(iCount)
NextiCount
IfbBuf(0)>=&HC0AndbBuf(0)<=&HC3Then
bHmsb=bBuf(4)
bHlsb=bBuf(5)
bWmsb=bBuf(6)
bWlsb=bBuf(7)
bDone=1
Else
lPos=lPos+(CombineBytes(bBuf(2),bBuf(1)))+1
EndIf
LoopWhilelPos<lFlenAndbDone=0
GetImageSize.Width=CombineBytes(bWlsb,bWmsb)
GetImageSize.Height=CombineBytes(bHlsb,bHmsb)
WImg=CombineBytes(bWlsb,bWmsb)
HImg=CombineBytes(bHlsb,bHmsb)
EndIf
CloseiFN

EndSub
PrivateFunctionCombineBytes(lsbAsByte,msbAsByte)AsLong
CombineBytes=CLng(lsb+(msb*256))
EndFunction

</p>Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。
莫相离 该用户已被删除
沙发
发表于 2015-1-20 10:52:52 | 只看该作者
不能只是将它停留在纸上谈兵的程度上。
山那边是海 该用户已被删除
板凳
发表于 2015-1-29 06:50:29 | 只看该作者
在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
乐观 该用户已被删除
地板
发表于 2015-1-30 09:45:22 | 只看该作者
兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的
爱飞 该用户已被删除
5#
发表于 2015-2-6 09:43:51 | 只看该作者
从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了
变相怪杰 该用户已被删除
6#
发表于 2015-2-15 22:09:11 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
admin 该用户已被删除
7#
发表于 2015-3-4 15:00:28 | 只看该作者
ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
简单生活 该用户已被删除
8#
发表于 2015-3-11 20:08:41 | 只看该作者
Session:这个存储跟客户端会话过程的数据,默认20分钟失效
金色的骷髅 该用户已被删除
9#
发表于 2015-3-19 11:04:57 | 只看该作者
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
小妖女 该用户已被删除
10#
发表于 2015-3-27 20:10:51 | 只看该作者
Session:这个存储跟客户端会话过程的数据,默认20分钟失效
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-14 18:40

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表