Code:
Option Explicit

Private Type BITMAPINFOHEADER
  biSize As Long
  biWidth As Long
  biHeight As Long
  biPlanes As Integer
  biBitCount As Integer
  biCompression As Long
  biSizeImage As Long
  biXPelsPerMeter As Double
  biClrUsed As Double
End Type

Private Type BITMAPINFO
  bmiHeader As BITMAPINFOHEADER
  bmiColors As Long
End Type

Private Declare Function StretchDIBits Lib "gdi32" (ByVal hDC As Long, _
  ByVal x As Long, ByVal y As Long, ByVal dWidth As Long, ByVal dHeight _
  As Long, ByVal SrcX As Long, ByVal SrcY As Long, ByVal SrcWidth As _
  Long, ByVal SrcHeight As Long, lpBits As Any, lpBI As BITMAPINFO, _
  ByVal wUsage As Long, ByVal RasterOp As Long) As Long

Private Declare Function GetDIBits Lib "gdi32" (ByVal aHDC As Long, ByVal hBitmap As Long, ByVal nStartScan As Long, ByVal nNumScans As Long, lpBits As Any, lpBI As BITMAPINFO, ByVal wUsage As Long) As Long

Dim bi32BitInfo As BITMAPINFO
Dim OriginalImage() As Long, ParentImage() As Long
Code:
..........
ReDim OriginalImage(inWidth - 1, inHeight - 1)
    ReDim ParentImage(inWidth - 1, inHeight - 1)
    
    With bi32BitInfo.bmiHeader
        .biBitCount = 32
        .biPlanes = 1
        .biSize = Len(bi32BitInfo.bmiHeader)
        .biWidth = inWidth
        .biHeight = inHeight
        .biSizeImage = 4 * inWidth * inHeight
    End With
    TransparentColor = DIBRGB(TransparentColor)
    GetDIBits Picturehdc, Picturehandle, 0, inHeight, OriginalImage(0, 0), bi32BitInfo, 0
    GetDIBits Parentpicturehdc, Parentpicturehandle, 0, inHeight, ParentImage(0, 0), bi32BitInfo, 0
.................
these code save the bitmaps in array of 2 dimensions. but can anyone explain to me how can i convert these to array of 1 dimension and with RGB?
can anyone explain to me these?