ОЗМ 2-3 Міхав
BMP
BMP-файл має структуру, представлену в таблиці. Розширений Windows95 BMP Header можна проігнорувати, оскільки майже всі програми генерують звичайний Windows 3.11 BMP Header. Рядки зображення у файлі мають бути кратними 4-ом. Наприклад якщо ширина картинки = 121 Pixel, то під час запису в файл кожному рядку необхідно добавити ще 3 нульових байта.
Для імені файлу, представленого в BMP-форматі, частіше за все використовується розширенняBMP, хоча деякі файли мають розширення RLE, що означає run length encoding (кодування довжини серій). Розширення RLE імені файла зазвичай вказує на те, що було здійснене стиснення за допомогою алгоритму RLE.
Значення пікселів зберігаються у порядку їх розташування зліва направо, починаючи (як правило) з нижнього рядка зображення. Таким чином, у BMP-файлі перший байт даних растрового масива - це індекс для кольору пікселя, що знаходиться в нижньому лівому кутку зображення.
BMP з глибиною 16 і 24 біт/піксель не мають таблиць кольорів; в цих файлах значення пікселів растрового масива безпосередньо характеризують значення кольорів RGB. Також можуть відрізнятись внутрішні формати збереження окремих розділів файла. Наприклад, інформація растрового масива в деяких 16 и 256-кольорових BMP-файлах може стискатись за допомогою алгоритму RLE, який заміняє послідовності ідентичних пікселів зображення на лексеми, що визначають число пікселів у послідовності та їх колір.
Offset | Bytes | Name | Опис |
---|---|---|---|
00h | 2 | bfType | BMP сигнатура ("BM") |
02h | 4 | bfSize | Розмір файла в Байтах |
06h | 2 | Зарезервовано, має бути 0 | |
08h | 2 | Зарезервовано, має бути 0 | |
0Ah | 4 | bfOffs | Зміщення області даних |
Розширений Header Windows 3.x | |||
0Eh | 4 | biSize | Довжина |
12h | 4 | biWidth | Ширина Bitmap-а в пікселях |
16h | 4 | biHeight | Висота Bitmap-а в пікселях |
1Ah | 2 | BiPlanes | Кольорові площини (має бути 1) |
1Ch | 2 | BiBit | Кількість біт на піксель |
1Eh | 4 | biCompr | Тип стиснення (0 - не стиснено ) |
22h | 4 | biSizeIm | Розмір зображення в байтах |
26h | 4 | BiXPels/m | Горизонтальне розрішення в DPI |
2Ah | 4 | BiYPels/m | Вертикальне розрішення в DPI |
2Eh | 4 | biClrUsed | Кількість використаних кольорів |
32h | 4 | BiClrImp. | Кількість важливих кольорів RGB_QUAD |
36h | N*4 | Визначення для n кольорів з : | |
RgbBlue | 1 Byte частка блакитного | ||
RgbGreen | 1 Byte частка зеленого | ||
RgbRed | 1 Byte частка червоного | ||
RgbRes | 1 Byte зарезервовано | ||
Розширений Header Windows 95 | |||
0Eh | 4 | Довжина заголовка в байтах | |
12h | 4 | Ширина Bitmap-а в пікселях | |
16h | 4 | Висота Bitmap-а в пікселях | |
1Ah | 2 | Кольорові площини (має бути 1 ) | |
1Ch | 2 | Кількість бітів на піксель | |
1Eh | 4 | Тип стиснення (0 - не стиснено ) | |
22h | 4 | Розмір зображення в байтах | |
26h | 4 | Горизонтальне розрішення в DPI | |
2Ah | 4 | Вертикальне розрішення в DPI | |
2Eh | 4 | Кількість використаних кольорів | |
32h | 4 | Кількість важливих кольорів | |
додаткові 4-поля BMP | |||
36h | 4 | Маска червоних частин кольору | |
3Ah | 4 | Маска зелених частин кольору | |
3Eh | 4 | Маска блакитних частин кольору | |
42h | 4 | Маска альфа каналу | |
46h | 4 | Color Space Type | |
4Ah | 4 | X-координата червоного CIE-кінця | |
4Eh | 4 | Y-координата червоного CIE-кінця | |
52h | 4 | Z-координата червоного CIE-кінця | |
56h | 4 | X-координата зеленого CIE-кінця | |
5Ah | 4 | Y-координата зеленого CIE-кінця | |
5Eh | 4 | Z-координата зеленого CIE-кінця | |
62h | 4 | X-координата блакитного CIE-кінця | |
66h | 4 | Y-координата блакитного CIE-кінця | |
5Eh | 4 | Z-координата блакитного CIE-кінця | |
62h | 4 | Гамма червоної координати | |
66h | 4 | Гамма зеленої координати | |
6Ah | 4 | Гамма блакитної координати | |
Власне дані растового масива |
JPG
GIF
PNG
SVG
Порівняння форматів
Формат | Макс. число біт/піксель | Макс. число кольорів | Макс. розмір зображення, піксель | Методи стиснення | Кодуванння кількох зображень |
---|---|---|---|---|---|
BMP | 24 | 16 777 216 | 65 535 x 65 535 | RLE* | - |
JPEG | 24 | 16 777 216 | 65 535 x 65 535 | JPEG | - |
GIF | 8 | 256 | 65 535 x 65 535 | LZW | + |
PNG | 48 | 281 474 976 710 656 | 2 147 483 647 x 2 147 483 647 | Deflation (варіант LZ77) | - |
Формат | Біт на точку / якість | Розмір, KiB |
---|---|---|
BMP | 8 | 257 |
24 | 768 | |
GIF | 8 | 31 |
JPEG | 20 | 11 |
40 | 14,8 | |
70 | 19 | |
90 | 29 | |
PNG | 8 | 22 |
24 | 43 | |
32 | 46 | |
SVG | - | 19 |