property Bits: PColor32Array; // Read-only
type TColor32Array = array [0..0] of TColor32;
type PColor32Array = ^TColor32Array;
The bits property contains the address of the first (top-left) pixel in a bitmap. If the bitmap is not allocated (width or height is zero), the returned address is nil.
Note, that numbering of rows in Graphics32 starts from the top-most one.
Data is continuously allocated in memory, row by row. You may safely access Width * Height elements, each of them is a 4-byte TColor32 value. For example:
var P: PColor32Array; begin P := Bitmap32.Bits; for I := 0 to Bitmap32.Width * Bitmap32.Height - 1 do P[I] := Gray32(Random(255)); // fill with a random grayscale noise end;
Note, that in this code no size verification is required, if width or height is zero, their product is zero and the loop will never be executed.