VB .bmp图片数据问题!

来源:百度知道 编辑:UC知道 时间:2024/06/28 07:45:20
VB中我用
Dim S() As Byte'定义图片数据数组
Open "C:\1.bmp" For Binary Access Read As #1
ReDim S(0 To 4213)
Get #1, , S()
Close #1
获取了1.bmp图片的数据数组 ,请问如何用该数据数组将图片画在窗体上?不是直接由1.bmp图片的路径加载到窗体上!最好源码说一下!

这个需要对bmp的数据格式要一定了解
Private Sub Command1_Click()
On Error Resume Next
Me.ScaleMode = 3
Dim Color() As Long
Dim I, II, lens As Long
Dim III As Long
Dim Pwidth, PHeight As Long
Dim Bs() As Byte
Open "C:\1.bmp" For Binary As #1
ReDim Bs(1 To LOF(1)) '将数据保存到字节
Get #1, , Bs
Close #1
lens = (UBound(Bs) - 54) / 3 '获读相素个数
Pwidth = Bs(19) + 1 '图片宽度
PHeight = lens / Pwidth '图片高度
ReDim Color(1 To lens)
For I = 0 To lens - 1
Color(I + 1) = RGB(Bs(I * 3 + 57), Bs(I * 3 + 56), Bs(I * 3 + 55))
Next
III = 1
For II = PHeight To 1 Step -1
For I = 1 To Pwidth
me.PSet (I, II), Color(III)
III = III + 1
Next
Next
End Sub

Option Explicit

Private Declare Function SetPixelV Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As Long

Private Sub F