generating a one-color 24bit bmp that stores the color value in full for each pixel instead of palleting it

how should that look in bytes

Offset (B) Rozm. (B) Opis (liczby: bajty w kolejności little-endian)
0 2 bajty “BM”
2 4 Liczba: zmienna 54+H×(3×W - ((-3×W) mod 4)
6 4 Nieużywane. Raczej zera.
10 4 Liczba: stała 54 (hex: 36 00 00 00)
14 4 Liczba: stała 40 (hex: 28 00 00 00)
18 4 Liczba: zmienna W
22 4 Liczba: zmienna -H
26 2 Liczba: stała 1 (hex: 01 00)
28 2 Liczba: stała 24 (hex: 18 00)
30 4 Liczba: stała 0
34 4 Liczba: stała 0 [lub zmienna `H×(3×W - ((-3×W) mod 4)`]
38 4 Liczba: wybrana rozdzielczość pozioma w pikselach na metr
42 4 Liczba: wybrana rozdzielczość pionowa w pikselach na metr
46 4 Liczba: stała 0 (jest to liczba kolorów w palecie)
50 4 Liczba: stała 0
Powtórzenie H razy:
54+3k for k=0…W-1 3 Trzy bajty: stała, reprezentujące wybrane składowe RGB
54+3×W - ((-3×W) %4) Dopełnienie (np. zerami) wiersza pikseli do 4 bajtów.

generator pseudocode

generate(signed int w, h, stream<char> src,
signed int pixels_per_metre_horizontal, pixels_per_metre_vertical)

todo: implement generator

see also: