Почему размер строки в bmp должен быть кратным четырем?
Дополнен
24-битный bmp
По дате
По рейтингу
Кратность в 4 байта может быть соблюдена в целях выравнивания по машинному слову в оперативной памяти. Процессор читает данные быстрее если они выровнены, возможно в этом причина.
Каждая строка в small.bmp (зеленый квадрат) занимает 3 пикселя х 3 байта на пиксель = 9 байт, что не есть кратным 4. Таким образом, строку забивают таким количеством нулей, чтобы продолжить длину строки до числа кратного 4. Другими словами, необходимо между 0 и 3 байтами заполнения для каждой строки в 24-битном формате bmp
Потому, что спецы Microsoft, придумавшие этот формат, использовали переменную типа DWORD
А максимальная битность bmp — 32 бита, что как раз = DWORD