Всем привет!
Пытаюсь разобраться в структуре файла BMP, но что-то не сходится. Прикрепляю архив с двумя BMP файлами, с которыми провожу эксперименты. Файлы идентичны, с той лишь разницей, что
o1.bmp создан в фотошопе. Потом я его открыл в Паинте и без редактирования сохранил под другим именем:
o0.bmp.
Открываю обе картинки в Блокноте и вижу что они разные:
Смотрю в таблицу:
https://ru.bmstu.wiki/BMP_(Bitmap_Picture)
Пробую узнать размер файла (6 494 байт o0.bmp, и 6 496 байт o1.bmp):
Size: длина: 4 байта, смещение 2 байта:
o0.bmp : "^ "
o1.bmp : "` "
Для
o0.bmp это символы в таблице ASCII
https://istarik.ru/blog/programmirovanie/53.html:
94 - 01011110
25 - 00011001
32 - 00100000
32 - 00100000
Для
o1.bmp это символы в таблице ASCII:
96 - 01100000
25 - 00011001
32 - 00100000
32 - 00100000
Как из этого набора символов получить размер файла?
Дальше интереснее и не понятнее (для меня). Пробую узнать ширину и высоту (384х134 пикселя):
Width: длина 4 байта, смещение 18 байт
Height: длина 4 байта, смещение 22 байт
Отсчитываю байты, получаю (они одинаковы у обоих файлов):
Width: "Ђ "
128 - 10000000
1 - 00000001
32 - 00100000
32 - 00100000
Height: "† "
134 - 10000110
32 - 00100000
32 - 00100000
32 - 00100000
Как из этого набора символов получить Ширину и высоту?
И т.д... На пример, Смещение изображения от начала файла: "> ", символ ASCII "64" и еще несколько "32"... как из этого высчитать начало самой картинки???
Если можете, разъясните мне. Спасибо
- Вложения
-
- BMP.rar
- (2.1 KiB) Скачиваний: 356