|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
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 Debug.Print "JPEG" lPos = 3 Do Do Get #iFN, lPos, bBuf(1) Get #iFN, lPos + 1, bBuf(2) lPos = lPos + 1 Loop Until (bBuf(1) = &HFF And bBuf(2) <> &HFF) Or lPos > lFlen For iCount = 0 To 7 Get #iFN, lPos + iCount, bBuf(iCount) Next iCount If bBuf(0) >= &HC0 And bBuf(0) <= &HC3 Then bHmsb = bBuf(4) bHlsb = bBuf(5) bWmsb = bBuf(6) bWlsb = bBuf(7) bDone = 1 Else lPos = lPos + (CombineBytes(bBuf(2), bBuf(1))) + 1 End If Loop While lPos < lFlen And bDone = 0 \\\'GetImageSize.Width = CombineBytes(bWlsb, bWmsb) \\\'GetImageSize.Height = CombineBytes(bHlsb, bHmsb) WImg = CombineBytes(bWlsb, bWmsb) HImg = CombineBytes(bHlsb, bHmsb) End If Close iFN End Sub Private Function CombineBytes(lsb As Byte, msb As Byte) As Long CombineBytes = CLng(lsb + (msb * 256)) End Function 返回类别: 教程 上一教程: 在线压缩ACCESS数据库 下一教程: UBB代码~(整理) 您可以阅读与"一个取图片尺寸的类,支持JPG,GIF,PNG"相关的教程: · 利用FSO取得BMP,JPG,PNG,GIF文件信息(大小,宽、高等) · 利用FSO取得BMP,JPG,PNG,GIF文件信息 · 判定GIF图像尺寸的方式 · 通过ADODB.STREAM取得图像(BMP JPG PNG GIF SWF)的高度和宽度 · 一个改进的ASP生成SQL 命令字符串的类 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |