Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 29, 2015 00:07:10

kajoj
Зарегистрирован: 2015-09-28
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Чтение BMP-файлов

Привет всем! Есть задача - считать все данные из BITMAPFILEHEADER.
Открываю на чтение файл изображения в бинарном режиме.
Считываю первые 14 байт (отвечающие за содержание BITMAPFILEHEADER) и записываю их в bt.
Мне нужно считать, к примеру, размер файла в байтах. За это отвечают 4 байта, со второго по пятый.
Значение всех байтов хранится в 16-ричном виде. Мне нужно перевести в 10-тичный.
Всё бы ничего, так bt имеет тип bytes и значения тех четырех байтов нормально в одно шестнадцатиричное число не склеишь. Мещают \\x
Я придумал один вариантик, но мне он кажется ну больно уж сложным.В коде только “склейка” значений 4-ех байт.

f=open("D:\\24.bmp","rb")
bt=f.read(14)
bt=str(bt)
bt=bt.replace("\\x","")
bt2=bt[4:12]
Подскажите, пожалуйста, может кто знает, как сделать проще? Спасибо.

Офлайн

#2 Сен. 29, 2015 02:33:04

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Чтение BMP-файлов

Вы делаете вообще незнамо что.
курите модуль struct
А вообще есть библиотеки например http://pillow.readthedocs.org/en/latest/handbook/image-file-formats.html
Которые все это делают. Учитесь пользоваться google,yandex



Офлайн

#3 Сен. 29, 2015 09:39:23

kajoj
Зарегистрирован: 2015-09-28
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Чтение BMP-файлов

doza_and
С модулем PIL как раз разбираюсь.
Про struct забыл.
Спасибо Вам!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version