当前位置: 首页 > 图文教程 > 网络编程 > ASP > 获得jpg文件的实际尺寸

ASP
出现404页面错误的自动发送邮件的代码
ASP视频教程:建立显示已经添加的新闻页面
ASP视频教程:使用Eweb编辑器丰富新闻内容的格式
ASP视频教程:建立修改新闻页面
ASP视频教程:制作删除新闻的功能
ASP视频教程:建立产品类别表和添加类别页面
ASP视频教程:建立管理产品的页面
ASP视频教程:制作其它栏目管理页面
ASP实例教程:隐藏下载地址和防盗
ASP教程:虚拟目录下不能上传图片
ASP视频教程:制作网站前台顶部导航页面
ASP视频教程:制作前台导航菜单
ASP视频教程:对前台导航菜单进行调整美化
ASP视频教程:制作新闻中心显示页面
ASP视频教程:制作新闻详细内容显示页面
ASP视频教程:制作前台产品显示页面(按产品类别显示)
ASP视频教程:制作前台产品显示页面(横向重复显示图片)
ASP视频教程:制作在线订购页面
ASP视频教程:制作关于我们和联系我们页面
ASP视频教程:后台功能的一些完善

ASP 中的 获得jpg文件的实际尺寸


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 81 ::
收藏到网摘: n/a

  bask

把它编译成组件就可以用了,还支持png


'I have released this source code into the public domain.  You may use it
'with no strings attached.
'Just call GetImageSize with a string containing the filename, and
'it will return a user defined type 'ImageSize'  (see below)
'Return values of 0 indicate an error of some sort.  The error handling
'in this module is limited.  There is *NO* error handling on the test
'form.  This routine is limited to X or Y sizes of 32767 pixels, but that
'should not be a problem.

'Check back at http://www.qtm.net/~davidc
'I may add support for more file types.

'supported in this version:
'JPEG
'GIF
'PNG

'This routine does not require any royalty fees for Unisys as it
'does nothing with the compressed part of GIF files.  It simply reads
'4 bytes to determine image size.

Option Explicit
Public WImg As Long
Public HImg As Long
Public Type ImageSize
    Width As Long
    Height As Long
End Type

Public Sub GetImageSize(sFileName As String)
    On Error Resume Next        'you'll want to change this
    Dim iFN As Integer
    Dim bTemp(3) As Byte
    Dim lFlen As Long
    Dim lPos As Long
    Dim bHmsb As Byte
    Dim bHlsb As Byte
    Dim bWmsb As Byte
    Dim bWlsb As Byte
    Dim bBuf(7) As Byte
    Dim bDone As Byte
    Dim iCount As Integer

    lFlen = FileLen(sFileName)
    iFN = FreeFile
    Open sFileName For Binary As iFN
    Get #iFN, 1, bTemp()
        
    'PNG file
    If bTemp(0) = &H89 And bTemp(1) = &H50 And bTemp(2) = &H4E _
    And bTemp(3) = &H47 Then
        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)
    End If
    
    'GIF file
    If bTemp(0) = &H47 And bTemp(1) = &H49 And bTemp(2) = &H46 _
    And bTemp(3) = &H38 Then
        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)
    End If
    
    
    'JPEG file
    If bTemp(0) = &HFF And bTemp(1) = &HD8 And bTemp(2) = &HFF Then
    D