获得jpg文件的实际尺寸

278252042

278252042

2016-01-29 18:32

获得jpg文件的实际尺寸,获得jpg文件的实际尺寸
  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
展开更多 50%)
分享

猜你喜欢

获得jpg文件的实际尺寸

ASP
获得jpg文件的实际尺寸

利用ASP获得图象的实际尺寸的示例

ASP
利用ASP获得图象的实际尺寸的示例

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

新页面打开实际尺寸的图片

Web开发
新页面打开实际尺寸的图片

装修必读家具最实际的规格尺寸

生活常识
装修必读家具最实际的规格尺寸

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

html5中canvas学习笔记1-画板的尺寸与实际显示尺寸

Web开发
html5中canvas学习笔记1-画板的尺寸与实际显示尺寸

一个取图片尺寸的类支持jpg,gif,png

Web开发
一个取图片尺寸的类支持jpg,gif,png

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Word排版时图片为什么看不清

Word排版时图片为什么看不清

提高ASP页面的执行效率(中)

提高ASP页面的执行效率(中)
下拉加载更多内容 ↓