


Прошло много времени с тех пор, как я работал с VB6, но насколько я помню, вы можете просто сериализовать образ в PropertyBag и получить содержимое в виде байтового массива.
Единственная альтернатива, которую я знаю, требует интенсивного использования WinAPI для достижения того же.
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
Я спросил, что здесь stackoverflow.com/questions/26442660/…
Это приведет к получению только битов растрового изображения, а не информации о растровом изображении и заголовка.
Я разместил вопрос о том, как получить все растровое изображение, включая заголовки, в массив байтов. Здесь stackoverflow.com/questions/26442660/…
как насчет того, чтобы сделать обратное, и можете ли вы также опубликовать код Propertybag?