Forum Webscript.Ru

Дизайн и Верстка => Веб Графика => Тема начата: Mog. от 08 Февраля 2003, 18:17:42

Название: Разбор формата jpg
Отправлено: Mog. от 08 Февраля 2003, 18:17:42
Люди, да! Помогите! Не дайте умереть любопытному не разобравшись :) В jpg файле может быть более 1 сегмента SOF0 ?
Название: Разбор формата jpg
Отправлено: Metaller от 10 Февраля 2003, 10:31:59
Вряд ли.... может быть в Progressive JPEG?
Название: Разбор формата jpg
Отправлено: Mog. от 10 Февраля 2003, 16:01:28
А как же contents of the segment, max. 65533 bytes из "JPEG/JFIF file format", при общем обьёме файла > 1 Мб
Название: Разбор формата jpg
Отправлено: Metaller от 10 Февраля 2003, 16:14:02
А разве изображение лежит не между SOI и EOI?
Название: Разбор формата jpg
Отправлено: Mog. от 10 Февраля 2003, 16:29:04
Чёта я читаю описание на jpg и у меня тупило включается
SOI = Start Of Image = \'FFD8\'
 This marker must be present in any JPG file *once* at the beginning of the file
- маркер должен присутствовать в любом файле jpg однажды в начале
потом про сегменты начинают бухтеть и грят, что мол любое количество их, но длина каждого <65533 байт.
Может сменить описание формата на более правильное :)
Я собственно пытаюсь выдрать высоту-ширину  картинки из jpg файла. При условии, что один сегмент все получается, но вот меня мучает вопрос, а что если больше одного?
Название: Разбор формата jpg
Отправлено: Metaller от 10 Февраля 2003, 16:35:52
Цитировать
что если больше одного

И что у них разные размеры могут быть??? Сомневаюсь.
Название: Разбор формата jpg
Отправлено: Mog. от 10 Февраля 2003, 16:49:50
Прочитал по русски http://www.programer.ru/index.php?div=frmt&doc=jpg&file=jpeg.htm  , но все равно не понял :(
Что значит длина сегмента? Количество байт содержащихся в сегменте, чтоль? < 65533, ну допустим. Сегмент SOFO один, пусть < 65к, выцепляю размер, он правильный (ACDSee такой же показывает) , файл>1Mb. Там что, все остальные сегменты, в остальной части? И это показательтого, что зря я этот файл jpeg\'ом помял. Так получается???

[off]Люди, да! Помогите! Не дайте умереть любопытному не разобравшись :) кто нить png формат разбирал, где там ширина/высота зарыты[/off]
Название: Разбор формата jpg
Отправлено: Metaller от 10 Февраля 2003, 17:50:27
А на чем ты это все пишешь?
Название: Разбор формата jpg
Отправлено: Mog. от 11 Февраля 2003, 15:42:12
Цитировать
на чем

На Perl , про модули работы с графикой знаю. Однако мне нужно всего ничего - размеры картинок определять. Не исключено, что у меня выйдет очередной велосипед :) , так хоть для общего развития польза будет.
Название: Разбор формата jpg
Отправлено: Metaller от 11 Февраля 2003, 15:45:23
ты же вроде и так получаешь правильно размеры? Ну так и забей на остальной мег... или есть желание разбираться с квантованием и DCT? ;)
Название: Разбор формата jpg
Отправлено: Mog. от 11 Февраля 2003, 15:59:35
С квантованием разбираться не желаю :) просто хочу свои сомнения развеять. А вдруг попадется файл где > 1 сегмента SOF0 ? Мало ли извращенцев :) А перебирать весь файл на наличие нужных маркеров чета ломает.
Название: Разбор формата jpg
Отправлено: Athathoth от 22 Февраля 2005, 09:53:13
Жаль тема завершилась так до конца и не обсудившись...
В общем хочу ее поднять.

Во первых, действительно может быть несколько блоков SOF0. Учитывать следует последний (изходя из моей практики), т.к. остальные мелкие превъюшки.

Однако блока SOF0 вообще может не существовать... Как в данном случае узнать размер jpeg??? Может сталкивался кто?
Название: Разбор формата jpg
Отправлено: Athathoth от 23 Февраля 2005, 08:27:39
Цитировать
Athathoth:
Однако блока SOF0 вообще может не существовать...

Нашел в чем причина... Просто существуют несколько алгоритмов сжатия.
Если отсутствует блок SOF0, то следует поискать блок SOF2, а может быть даже и SOF1. На сколько я понял заголовки у них одинаковые...