getimagesize(C语言中怎样获得jpg图片的宽和高)

:暂无数据 2026-07-28 19:00:02 :0

getimagesize(C语言中怎样获得jpg图片的宽和高)

本篇文章给大家谈谈getimagesize,以及C语言中怎样获得jpg图片的宽和高对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录

C语言中怎样获得jpg图片的宽和高

lt;%
Class ImgWHInfo ’获取图片宽度和高度的类,支持JPG,GIF,PNG,BMP
Dim ASO
Private Sub Class_Initialize
Set ASO=Server.CreateObject("ADODB.Stream")
ASO.Mode=3
ASO.Type=1
ASO.Open
End Sub
Private Sub Class_Terminate
Err.Clear
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)
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)
Dim Ret,I
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)
Dim Ret,I
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)
Dim Ret,I
Ret = 0
For I = 1 To LenB(Bin)
Ret = Ret *256 + AscB(MidB(Bin,I,1))
Next
BinVal2=Ret
End Function

Private Function GetImageSize(filespec)
Dim bFlag
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

Public Function imgW(IMGPath)
Dim FSO,IMGFile,FileExt,Arr
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
If (FSO.FileExists(IMGPath)) Then
Set IMGFile = FSO.GetFile(IMGPath)
FileExt=FSO.GetExtensionName(IMGPath)
Select Case FileExt
Case "gif","bmp","jpg","png":
Arr=GetImageSize(IMGFile.Path)
imgW = Arr(1)
End Select
Set IMGFile=Nothing
Else
imgW = 0
End If
Set FSO=Nothing
End Function

Public Function imgH(IMGPath)
Dim FSO,IMGFile,FileExt,Arr
Set FSO = server.CreateObject("Scripting.FileSystemObject")
If (FSO.FileExists(IMGPath)) Then
Set IMGFile = FSO.GetFile(IMGPath)
FileExt=FSO.GetExtensionName(IMGPath)
Select Case FileExt
Case "gif","bmp","jpg","png":
Arr=getImageSize(IMGFile.Path)
imgH = Arr(2)
End Select
Set IMGFile=Nothing
Else
imgH = 0
End If
Set FSO=Nothing
End Function
End Class
IMGPath="Test.jpg"
Set PP = New ImgWHInfo
W = PP.imgW(Server.Mappath(IMGPath))
H = PP.imgH(Server.Mappath(IMGPath))
Set pp = Nothing
Response.Write("《img src=’"&IMGPath&"’ border=0》《br》宽:"&W&";高:"&H)
%》

gif图片用getimagesize得到的是jpeg类型

getimagesize (PHP 3, PHP 4, PHP 5)getimagesize -- 取得图像大小 说明array getimagesize ( string filename )
你可以尝试使用 image_type_to_mime_type 看看。image_type_to_mime_type -- 取得 getimagesize,exif_read_data,exif_thumbnail,exif_imagetype 所返回的图像类型的 MIME 类型具体的使用查阅手册。

(php)请问getimagesize返回false是什么情况

一般情况下,getimagesize会在不能访问指定的图像或者指定的不是有效的图像的时候,就会返回false.你检查下图像路径是否正确,以及图像是不是有效的GIF,JPG,PNG,BMP等格式.

如果你还想了解更多这方面的信息,记得收藏关注本站。

getimagesize(C语言中怎样获得jpg图片的宽和高)

本文编辑:admin

本文相关文章:


c语言变量声明和定义的区别(c语言中,变量的定义和说明有什么区别)

c语言变量声明和定义的区别(c语言中,变量的定义和说明有什么区别)

其实c语言变量声明和定义的区别的问题并不复杂,但是又很多的朋友都不太了解c语言中,变量的定义和说明有什么区别,因此呢,今天小编就来为大家分享c语言变量声明和定义的区别的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月4日 04:30

用c语言编写的程序被称为(c语言中源程序是什么意思)

用c语言编写的程序被称为(c语言中源程序是什么意思)

大家好,今天小编来为大家解答以下的问题,关于用c语言编写的程序被称为,c语言中源程序是什么意思这个很多人还不知道,现在让我们一起来看看吧!

2026年10月1日 18:30

大脑皮质有哪些语言中枢各位于何处?求解析c语言中qsort()有关结构体快排

大脑皮质有哪些语言中枢各位于何处?求解析c语言中qsort()有关结构体快排

大家好,语言中相信很多的网友都不是很明白,包括大脑皮质有哪些语言中枢各位于何处也是一样,不过没有关系,接下来就来为大家分享关于语言中和大脑皮质有哪些语言中枢各位于何处的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

2026年8月19日 17:00

c语言查找字符串中包含某字符串(C语言中在字符串中查找指定字符串拜托各位大神)

c语言查找字符串中包含某字符串(C语言中在字符串中查找指定字符串拜托各位大神)

各位老铁们好,相信很多人对c语言查找字符串中包含某字符串都不是特别的了解,因此呢,今天就来为大家分享下关于c语言查找字符串中包含某字符串以及C语言中在字符串中查找指定字符串拜托各位大神的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一

2026年8月12日 00:20

c语言while死循环例子代码(C语言中死循环的语句应该怎么写)

c语言while死循环例子代码(C语言中死循环的语句应该怎么写)

大家好,c语言while死循环例子代码相信很多的网友都不是很明白,包括C语言中死循环的语句应该怎么写也是一样,不过没有关系,接下来就来为大家分享关于c语言while死循环例子代码和C语言中死循环的语句应该怎么写的一些知识点,大家可以关注收藏

2026年8月4日 05:40

float类型和double类型的精度各是多少(c语言中double精度有几位小数,float有几位小数)

float类型和double类型的精度各是多少(c语言中double精度有几位小数,float有几位小数)

今天给各位分享c语言中double精度有几位小数,float有几位小数的知识,其中也会对c语言中double精度有几位小数,float有几位小数进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年7月9日 16:30

更多文章:


form表单制作(为什么制作的form表单会在网页显示中多出一行)

form表单制作(为什么制作的form表单会在网页显示中多出一行)

大家好,如果您还对form表单制作不太了解,没有关系,今天就由本站为大家分享form表单制作的知识,包括为什么制作的form表单会在网页显示中多出一行的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月11日 09:10

teammate(teammate,company,partner)

teammate(teammate,company,partner)

各位老铁们,大家好,今天由我来为大家分享teammate,以及teammate,company,partner的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧

2026年10月11日 06:10

javascript arraybuffer(javascript可以把base64编码转换成二进制代码吗求示例代码!)

javascript arraybuffer(javascript可以把base64编码转换成二进制代码吗求示例代码!)

其实javascript arraybuffer的问题并不复杂,但是又很多的朋友都不太了解javascript可以把base64编码转换成二进制代码吗求示例代码!,因此呢,今天小编就来为大家分享javascript arraybuffer的

2026年10月11日 04:00

text函数公式(excel中round和text函数的区别是什么)

text函数公式(excel中round和text函数的区别是什么)

“text函数公式”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看text函数公式(excel中round和text函数的区别是什么)!

2026年10月11日 03:50

pascal编程软件(介绍一下pascal语言!)

pascal编程软件(介绍一下pascal语言!)

大家好,如果您还对pascal编程软件不太了解,没有关系,今天就由本站为大家分享pascal编程软件的知识,包括介绍一下pascal语言!的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月11日 02:40

google chrome打不开(chrome浏览器打不开怎么回事 浏览器打不开的处理方法)

google chrome打不开(chrome浏览器打不开怎么回事 浏览器打不开的处理方法)

本篇文章给大家谈谈google chrome打不开,以及chrome浏览器打不开怎么回事 浏览器打不开的处理方法对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了

2026年10月11日 02:00

websocket整合springboot(Springboot整合Websocket遇到的坑)

websocket整合springboot(Springboot整合Websocket遇到的坑)

大家好,websocket整合springboot相信很多的网友都不是很明白,包括Springboot整合Websocket遇到的坑也是一样,不过没有关系,接下来就来为大家分享关于websocket整合springboot和Springbo

2026年10月11日 01:40

小米官方首爆miui14(miui14耗电严重官方回应)

小米官方首爆miui14(miui14耗电严重官方回应)

各位老铁们好,相信很多人对小米官方首爆miui14都不是特别的了解,因此呢,今天就来为大家分享下关于小米官方首爆miui14以及miui14耗电严重官方回应的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

2026年10月11日 00:40

drawerlayout(android 怎样让drawerlayout设置的侧滑菜单的内容充满屏幕)

drawerlayout(android 怎样让drawerlayout设置的侧滑菜单的内容充满屏幕)

本篇文章给大家谈谈drawerlayout,以及android 怎样让drawerlayout设置的侧滑菜单的内容充满屏幕对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年10月10日 19:20

xor四位数怎么运算(单片机怎样用C语言实现4个数字间的异或)

xor四位数怎么运算(单片机怎样用C语言实现4个数字间的异或)

大家好,今天小编来为大家解答以下的问题,关于xor四位数怎么运算,单片机怎样用C语言实现4个数字间的异或这个很多人还不知道,现在让我们一起来看看吧!

2026年10月10日 17:50

最近更新

热门文章

打印机m7400(m7400打印机清零方法)
2026-08-29 07:50:01 浏览:5
acrobat各版本区别(Acrobat XI Pro与 Acrobat PRO DC什么区别)
2026-08-29 22:30:20 浏览:2
联想y510p怎么升级(联想y510p换cpu)
2026-08-17 03:30:04 浏览:2
标签列表