|
http://hp.vector.co.jp/authors/VA023539/tips/bitmap/001.htm
このページを見ると、Bmpファイルの情報は、
BITMAPFILEHEADER
BITMAPINFO
の2つの構造体に収まってることがわかる。
(さらに、BITMAPINFOのメンバには、BITMAPINFOHEADERと、RGBQUADがある。)
と言うことは、画像サイズまでのオフセットは、固定なので、
以下の様な構造体を定義してもサイズを取得できる。
以下サンプル。
●標準モジュールへ
Option Base 0
Option Explicit
Private Type MY_BITMAPINFO
strType As String * 2
bytDummy(15) As Byte
biWidth As Long
biHeight As Long
End Type
●ユーザフォームへ
Private Sub CommandButton1_Click()
Dim strPath As String
Dim s As MY_BITMAPINFO
strPath = ThisWorkbook.Path & "\test.bmp"
Open strPath For Binary As #1: Get #1, , s: Close #1
'先頭がBMの別ファイルならどうするか?
'確立は、少ないけど、その辺も考慮すること。
If s.strType = "BM" Then
MsgBox "幅=" & s.biWidth & " : 高さ=" & s.biHeight
End If
End Sub
|
|