IT и интернет

Размер строк bitmap с выравниванием

Считает шаг и объём строк несжатого DIB при четырёхбайтовом выравнивании.

</>быстрый расчёт
онлайн
Введите данные
Данные не отправляются на сервер
Результат
Шаг строки stride16байт
Объём пиксельного массива48 байт
Добавка выравнивания на строку1 байт
Формула

Как считается результат

Шаг строки stride = 4*ceil(width*bits/32) (байт); Объём пиксельного массива = 4*ceil(width*bits/32)*height (байт); Добавка выравнивания на строку = 4*ceil(width*bits/32)-ceil(width*bits/8) (байт)
Пример с тестовыми данными

Ширина изображения: 5 пикселей; Высота изображения по модулю: 3 пикселей; Разрядность пикселя: 24 бит

Шаг строки stride: 16 байт; Объём пиксельного массива: 48 байт; Добавка выравнивания на строку: 1 байт
О расчёте

Как пользоваться
калькулятором

Считает шаг и объём строк несжатого DIB при четырёхбайтовом выравнивании.

Для несжатого DIB строка выравнивается до границы DWORD: stride=4·ceil(width·bpp/32). Объём пиксельного массива равен stride, умноженному на абсолютную высоту.

  1. 01
    Подготовьте данные

    Используйте исходные величины именно для рассматриваемого случая: ширина изображения в пикселей; высота изображения по модулю в пикселей; разрядность пикселя в бит.

  2. 02
    Проверьте единицы и условия

    Поддерживаются стандартные глубины 1, 4, 8, 16, 24 и 32 бита. Заголовки BMP, палитра, маски и цветовой профиль не входят; RLE и произвольный GPU-stride требуют другого расчёта.

  3. 03
    Прочитайте результат

    Дополнительные байты появляются в конце каждой строки. При 24 битах и ширине пять пикселей полезные данные строки занимают 15 байт, но её шаг равен 16.

Подробное объяснение

Как читать результат

Расшифровка показателей, пример вычисления и ограничения метода — без лишних терминов.

01

Что означают результаты

Дополнительные байты появляются в конце каждой строки. При 24 битах и ширине пять пикселей полезные данные строки занимают 15 байт, но её шаг равен 16.

02

Когда модель применима

Поддерживаются стандартные глубины 1, 4, 8, 16, 24 и 32 бита. Заголовки BMP, палитра, маски и цветовой профиль не входят; RLE и произвольный GPU-stride требуют другого расчёта.

Разбор по шагам

Пример расчёта

Пример 1
Исходные данные
Ширина изображения: 5 пикселей; Высота изображения по модулю: 3 пикселей; Разрядность пикселя: 24 бит
Вычисление
Для несжатого DIB строка выравнивается до границы DWORD: stride=4·ceil(width·bpp/32). Объём пиксельного массива равен stride, умноженному на абсолютную высоту. Шаг строки stride: 4 × ceil((5) × (24) ÷ 32) = 16 байт. Объём пиксельного массива: 4 × ceil((5) × (24) ÷ 32) × (3) = 48 байт. Добавка выравнивания на строку: 4 × ceil((5) × (24) ÷ 32)-ceil((5) × (24) ÷ 8) = 1 байт.
Результат
Шаг строки stride: 16 байт; Объём пиксельного массива: 48 байт; Добавка выравнивания на строку: 1 байт

Дополнительные байты появляются в конце каждой строки. При 24 битах и ширине пять пикселей полезные данные строки занимают 15 байт, но её шаг равен 16.

Пример 2
Исходные данные
Ширина изображения: 4 пикселей; Высота изображения по модулю: 3 пикселей; Разрядность пикселя: 24 бит
Вычисление
Шаг строки stride: 4 × ceil((4) × (24) ÷ 32) = 12 байт. Объём пиксельного массива: 4 × ceil((4) × (24) ÷ 32) × (3) = 36 байт. Добавка выравнивания на строку: 4 × ceil((4) × (24) ÷ 32)-ceil((4) × (24) ÷ 8) = 0 байт.
Результат
Шаг строки stride: 12 байт; Объём пиксельного массива: 36 байт; Добавка выравнивания на строку: 0 байт

Этот вариант использует другие исходные данные: Ширина изображения — 4. Дополнительные байты появляются в конце каждой строки. При 24 битах и ширине пять пикселей полезные данные строки занимают 15 байт, но её шаг равен 16.

Формула и обозначения

Шаг строки stride = 4*ceil(width*bits/32) (байт); Объём пиксельного массива = 4*ceil(width*bits/32)*height (байт); Добавка выравнивания на строку = 4*ceil(width*bits/32)-ceil(width*bits/8) (байт)

width — ширина изображения, единица: пикселей.

height — высота изображения по модулю, единица: пикселей.

bits — разрядность пикселя, единица: бит.

Для несжатого DIB строка выравнивается до границы DWORD: stride=4·ceil(width·bpp/32). Объём пиксельного массива равен stride, умноженному на абсолютную высоту.

Практическое применение

Считает шаг и объём строк несжатого DIB при четырёхбайтовом выравнивании. Для несжатого DIB строка выравнивается до границы DWORD: stride=4·ceil(width·bpp/32). Объём пиксельного массива равен stride, умноженному на абсолютную высоту.

Дополнительные байты появляются в конце каждой строки. При 24 битах и ширине пять пикселей полезные данные строки занимают 15 байт, но её шаг равен 16.

Частые ошибки

Используйте исходные величины именно для рассматриваемого случая: ширина изображения в пикселей; высота изображения по модулю в пикселей; разрядность пикселя в бит.

Поддерживаются стандартные глубины 1, 4, 8, 16, 24 и 32 бита. Заголовки BMP, палитра, маски и цветовой профиль не входят; RLE и произвольный GPU-stride требуют другого расчёта.

Источники и допущения

Основание расчёта

Метод, правило или ставка сверены с указанным источником. Последняя проверка этой реализации: 2026-09-30.

Microsoft: структуры bitmap и строки DIB ↗
Коротко о главном

Вопросы
и ответы

Что показывает «шаг строки stride»?+

Дополнительные байты появляются в конце каждой строки. При 24 битах и ширине пять пикселей полезные данные строки занимают 15 байт, но её шаг равен 16.

Как проверить расчёт на конкретном примере?+

Ширина изображения: 5 пикселей; Высота изображения по модулю: 3 пикселей; Разрядность пикселя: 24 бит. Шаг строки stride: 16 байт; Объём пиксельного массива: 48 байт; Добавка выравнивания на строку: 1 байт. Для несжатого DIB строка выравнивается до границы DWORD: stride=4·ceil(width·bpp/32). Объём пиксельного массива равен stride, умноженному на абсолютную высоту.

Какие ограничения есть у метода?+

Поддерживаются стандартные глубины 1, 4, 8, 16, 24 и 32 бита. Заголовки BMP, палитра, маски и цветовой профиль не входят; RLE и произвольный GPU-stride требуют другого расчёта.

Можно ли изменить исходные данные и сравнить варианты?+

Да. Дополнительные байты появляются в конце каждой строки. При 24 битах и ширине пять пикселей полезные данные строки занимают 15 байт, но её шаг равен 16. Сравнивайте варианты в одинаковых единицах и при неизменных допущениях: Поддерживаются стандартные глубины 1, 4, 8, 16, 24 и 32 бита. Заголовки BMP, палитра, маски и цветовой профиль не входят; RLE и произвольный GPU-stride требуют другого расчёта.