我有一个VB6图片框,它从视频捕获设备获取图像。
我正在尝试找出如何将图片框转换为字节数组。
我正在尝试找出如何将图片框转换为字节数组。
Private Type BITMAP
bmType As Long
bmWidth As Long
bmHeight As Long
bmWidthBytes As Long
bmPlanes As Integer
bmBitsPixel As Integer
bmBits As Long
End Type
Private Declare Function GetObject Lib "gdi32" Alias "GetObjectA" (ByVal hObject As Long, ByVal nCount As Long, lpObject As Any) As Long
Private Declare Function GetBitmapBits Lib "gdi32" (ByVal hBitmap As Long, ByVal dwCount As Long, lpBits As Any) As Long
Private Sub GetPictureBytes()
Dim PicBits() As Byte, PicInfo As BITMAP
GetObject Picture1.Picture, Len(PicInfo), PicInfo
ReDim PicBits((PicInfo.bmWidth * PicInfo.bmHeight * 3) - 1) As Byte
GetBitmapBits Picture1.Picture, UBound(PicBits), PicBits(0)
End Sub
我很久没用VB6了,但据我所知,你可以将图像序列化为 PropertyBag
并将内容作为字节数组获取。
我所知道的唯一替代方法需要大量使用WinAPI来完成相同的任务。