用FSO获取图片文件(大小、宽度、高)的信息

<

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

''':bmp、GIF、JPG和PNG::

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

' ':::

:::这个函数从任意一个字节中获得指定的字节数::

:::从偏移量开始的文件(基1)::

' ':::

通过::::

':拉腊米堡国家纪念碑= > filespec文件读取:::

开始读取>偏移的偏移量:::

>字节:要读取多少字节:::

' ':::

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

功能getBytes(拉腊米堡国家纪念碑,偏移量,以字节为单位)

昏暗的objfso

昏暗的objftemp

昏暗的objtextstream

昏暗的lngsize

下次继续出错

集objfso = CreateObject(脚本。FileSystemObject )


'首先,我们得到的文件大小

集objftemp = objfso.getfile(拉腊米堡国家纪念碑)

lngsize = objftemp大小。

集objftemp =没有

fsoforreading = 1

集objtextstream = objfso.opentextfile(拉腊米堡国家纪念碑,fsoforreading)

如果偏移量大于0,那么

strbuff = objtextstream读(偏移量1)。

最后如果

如果字节=1,则全部!

其中,objtextstream。读(lngsize)''readall

其他的

其中,objtextstream读(字节)。

最后如果

objtextstream。关闭

集objtextstream =没有

集objfso =没有

端功能

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

' ':::

::::将两个字节转换为数字值的函数(long)::

':':(都是little-endian和big-endian)::

' ':::

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

功能lngconvert(strtemp)

lngconvert = CLNG(ASC(左(strtemp,1))+((ASC(右(strtemp,1))×256 )))))

端功能

功能lngconvert2(strtemp)

lngconvert2 = CLNG(ASC(右(strtemp,1))+((ASC(左(strtemp,1))×256 )))))

端功能


::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

' ':::

答::这个功能完成大部分实际工作。它会尝试::

::::读取任何文件,不管扩展名和::

''':确定它是否是图形图像。::

' ':::

通过::::

':拉腊米堡国家纪念碑= > filespec文件读取:::

宽度:图像宽度:::

高度=图像的高度:::

深度>颜色深度(颜色数):::

':':strimagetype = >类型的图像(如GIF,BMP等)::

' ':::

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

功能gfxspex(拉腊米堡国家纪念碑,宽度,高度,深度,strimagetype)

昏暗的strpng

昏暗的strgif

昏暗的strbmp

昏暗的strtype

strtype =

strimagetype =(未知)。

gfxspex = false

strpng = CHR(137)CHR(80)CHR(78)

strgif =GIF

strbmp = CHR CHR(77)(66)

strtype = getBytes(拉腊米堡国家纪念碑,0, 3)

如果strtype = strgif ' '是GIF

strimagetype =GIF

宽度= lngconvert(getBytes(拉腊米堡国家纪念碑,7, 2))

高度= lngconvert(getBytes(拉腊米堡国家纪念碑,9, 2))

深度= 2 ^((ASC(getBytes(拉腊米堡国家纪念碑,11, 1)),7)+ 1)

gfxspex =真

左(strtype,2)= strbmp ' '是BMP

strimagetype =BMP

宽度= lngconvert(getBytes(拉腊米堡国家纪念碑,19, 2))

高度= lngconvert(getBytes(拉腊米堡国家纪念碑,23, 2))

深度= 2 ^(ASC(getBytes(拉腊米堡国家纪念碑,29, 1)))

gfxspex =真

strtype = strpng ' '是PNG

strimagetype =PNG

宽度= lngconvert2(getBytes(拉腊米堡国家纪念碑,19, 2))

高度= lngconvert2(getBytes(拉腊米堡国家纪念碑,23, 2))

深度= getBytes(拉腊米堡国家纪念碑,25, 2)

选择案例ASC(右(深度,1))

案例0

深度= 2×(ASC(左(1,深)))

gfxspex =真

案例2

深度= 2×(ASC(左(深度,1))* 3)

gfxspex =真

案例3

深度= 2 ^(ASC(左(深度,1)))8

gfxspex =真

案例4

深度= 2×(ASC(左(深度,1))* 2)

gfxspex =真

案例6

深度= 2×(ASC(左(深度,1))* 4)

gfxspex =真

其他案件

深度= 1

最后选择


其他的

strbuff = getBytes(拉腊米堡国家纪念碑,0,1)从文件中的所有字节

lngsize = Len(strbuff)

flgfound = 0

strtarget = CHR(255)CHR(216)CHR(255)

flgfound =仪器(strbuff,strtarget)

如果flgfound = 0

退出功能

最后如果

strimagetype =JPG

lngpos = flgfound + 2

exitloop = false

而exitloop =虚假和lngpos < lngsize


而ASC(MID(strbuff,lngpos,1))= 255和lngpos < lngsize

lngpos = lngpos + 1



如果ASC(MID(strbuff,lngpos,1))195

lngmarkersize = lngconvert2(MID(strbuff,lngpos + 1, 2))

lngpos = lngpos + lngmarkersize + 1

其他的

exitloop =真

最后如果



'

如果ExitLoop = false

宽度= 1

身高= 1

深度= 1

其他的

高度= lngconvert2(MID(strbuff,lngpos + 4, 2))

宽度= lngconvert2(MID(strbuff,lngpos + 6, 2))

深度= 2 ^(ASC(MID(strbuff,lngpos + 8, 1))* 8)

gfxspex =真

最后如果


最后如果

端功能


::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

测试:线束::

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::


'测试,我们将尝试显示所有文件.gif

集objfso = CreateObject(脚本。FileSystemObject )

集objf = objfso.getfolder(C:)

objfc = objf文件集。

response.write

在objfc F1

如果仪器(ucase(F1。名字),GIF)然后

响应。写f1.name F1。datecreated 大小的F1。

如果gfxspex(f1.path,W,H,C,strtype)=真

response.write WXHC颜色

其他的

response.write

最后如果

response.write

最后如果

下一个

response.write

集objfc =没有

集objf =没有

集objfso =没有


%>