View previous topic :: View next topic |
Author |
Message |
aLLigator

Joined: 01 Dec 2011 Posts: 167 Location: из тех ворот, что и весь народ...
|
(Separately) Posted: Tue Feb 07, 2012 20:15 Post subject: [WDX_Plugin Request] Параметры сжатия JPEG (Photoshop) |
|
|
Существует достаточно полезная программа показывающая различную информацию о JPEG файлах: http://www.impulseadventure.com/photo/jpeg-snoop.html
Одной из такой есть информация о выбранном качестве сжатия, которую для файлов Adobe Photoshop программа берет из маркера APP13.
Для файлов сжатых в режиме "Save For Web.." всё достаточно просто (значение всегда в одном и том же положении и вопрос решен плагином decHexWdx), но вот для режима "Save As..", намного сложнее.
Детальное описание нашел здесь:
http://www.impulseadventure.com/photo/save-as-save-for-web.html
Просьба сделать плагин находящий значение HEX: 38 42 49 4D 04 06 00 00 00 00 07 00 02 и по этим последним двум значениям выводящим информацию о качестве согласно таблицы:
FFFC Quality 0
FFFD Quality 1
FFFE Quality 2
FFFF Quality 3
0000 Quality 4
0001 Quality 5
0002 Quality 6
0003 Quality 7
0004 Quality 8
0005 Quality 9
0006 Quality 10
0007 Quality 11
0008 Quality 12
Нужна сортировка по этому значению в колонке ТС. |
|
Back to top |
|
 |
Dec
Joined: 07 Sep 2006 Posts: 466
|
(Separately) Posted: Thu Feb 09, 2012 16:45 Post subject: Re: [WDX_Plugin Request] Параметры сжатия JPEG (Photoshop) |
|
|
aLLigator wrote: | Для файлов сжатых в режиме "Save For Web.." всё достаточно просто (значение всегда в одном и том же положении и вопрос решен плагином decHexWdx)
...
Просьба сделать плагин находящий значение HEX: 38 42 49 4D 04 06 00 00 00 00 07 00 02 и по этим последним двум значениям выводящим информацию о качестве |
На самом деле там все гораздо сложнее. Но поскольку я в этой теме уже 5 лет, то на коленке написал нужный тебе плагин. Немного исходников (не все) в комплекте.
http://www.thumbnailexpert.com/binary/decAdobeSaveWDX.zip |
|
Back to top |
|
 |
aLLigator

Joined: 01 Dec 2011 Posts: 167 Location: из тех ворот, что и весь народ...
|
(Separately) Posted: Thu Feb 09, 2012 17:53 Post subject: |
|
|
Огромное спасибо! Как проверю - отпишусь.
Знаю, что сложнее, но мне хотя бы по этому параметру отсортировать файлы - уже хорошо будет!
А программа очень выручает во многих случаях! гораздо больше информации дает, чем Ваш же плагин decMetaExpertWLX, тем более расшифровывает многие параметры, а не просто показывает значения. |
|
Back to top |
|
 |
Dec
Joined: 07 Sep 2006 Posts: 466
|
(Separately) Posted: Thu Feb 09, 2012 17:57 Post subject: |
|
|
aLLigator wrote: | Знаю, что сложнее, но мне хотя бы по этому параметру отсортировать файлы - уже хорошо будет! |
Кеп мне подсказывает, что сортировкой занимается сам Total. И плагин тут как бы не при делах.
aLLigator wrote: | А программа очень выручает во многих случаях! | Какая программа? |
|
Back to top |
|
 |
aLLigator

Joined: 01 Dec 2011 Posts: 167 Location: из тех ворот, что и весь народ...
|
(Separately) Posted: Thu Feb 09, 2012 18:12 Post subject: |
|
|
Dec wrote: | aLLigator wrote: | Знаю, что сложнее, но мне хотя бы по этому параметру отсортировать файлы - уже хорошо будет! |
Кеп мне подсказывает, что сортировкой занимается сам Total. И плагин тут как бы не при делах. |
Сам Тотал никак не отсортирует файлы в порядке возрастания качества (параметра сжатия) JPEG без вывода этого самого параметра в колонку.
Возникла необходимо разгрести десятки тысяч файлов... сначала шли только сжатые в режиме "Save for Web" и вопрос успешно был решен Вашим же плагином decHexWdx, посокльку параметр находиться в одном и том же положении НЕХ. Сейчас дошел до сохраненных через "Save As"... так же была необходимость сортировки в порядке возрастания значения.
Еще раз спасибо Вам за плагин! только что проверил на тестовых картинках - пока всё идеально!
Dec wrote: | aLLigator wrote: | А программа очень выручает во многих случаях! | Какая программа? |
JPEGsnoop, по ссылке из первого сообщения этой темы.
Есть возможность так же привязаться к режимам сжатия - Baseline: standart/optimized; Progressive и количеству сканов; наличия цветового профиля ICC; цветовой субдискретизации...
Если интересно - могу дать такую информацию для дальнейшего развития плагина!
Мне эта информация пока ни к чему, но может кому и пригодится. |
|
Back to top |
|
 |
Dec
Joined: 07 Sep 2006 Posts: 466
|
(Separately) Posted: Thu Feb 09, 2012 18:21 Post subject: |
|
|
aLLigator wrote: | Сам Тотал никак не отсортирует файлы в порядке возрастания качества (параметра сжатия) JPEG без вывода этого самого параметра в колонку. | Ну, как бы, логично.
aLLigator wrote: | сначала шли только сжатые в режиме "Save for Web" и вопрос успешно был решен Вашим же плагином decHexWdx, посокльку параметр находиться в одном и том же положении | Повторюсь, это не всегда так.
aLLigator wrote: | Есть возможность так же привязаться к режимам сжатия - Baseline: standart/optimized; Progressive и количеству сканов; наличия цветового профиля ICC; цветовой субдискретизации...
Если интересно - могу дать такую информацию для дальнейшего развития плагина! | Все это прикрутить не проблема, но мне лень заниматься вещами, которые никому не нужны. |
|
Back to top |
|
 |
aLLigator

Joined: 01 Dec 2011 Posts: 167 Location: из тех ворот, что и весь народ...
|
(Separately) Posted: Thu Feb 09, 2012 20:20 Post subject: |
|
|
Dec wrote: | Все это прикрутить не проблема, но мне лень заниматься вещами, которые никому не нужны. |
Ну, я тут подумал... не отказался бы от такого функционала, если Вас это не сильно затруднит! |
|
Back to top |
|
 |
Dec
Joined: 07 Sep 2006 Posts: 466
|
(Separately) Posted: Thu Feb 09, 2012 20:25 Post subject: |
|
|
aLLigator wrote: | Ну, я тут подумал... не отказался бы от такого функционала, если Вас это не сильно затруднит! |
Пиши конкретно, что нужно добавить. И перейди уже на ты, мы не в театре. |
|
Back to top |
|
 |
Dec
Joined: 07 Sep 2006 Posts: 466
|
(Separately) Posted: Fri Feb 10, 2012 18:24 Post subject: |
|
|
aLLigator wrote: | Надо добавить... |
Добавил определение режима сжатия и количество сканов. Для "Save for Web" определить Baseline и Otpimized пока не представляется возможным. Standart и Baseline определяются как Baseline. Определение ICC добавлю познее. |
|
Back to top |
|
 |
aLLigator

Joined: 01 Dec 2011 Posts: 167 Location: из тех ворот, что и весь народ...
|
(Separately) Posted: Fri Feb 10, 2012 21:36 Post subject: |
|
|
Добрый вечер! Ещё раз спасибо!
Правда заметил, что для режима "Save for Web" в "бэйслайновых" вообще не пишет режима.. Вот скриншот
Из сообщения же понял, что должно было писать по крайней мере Baseline.
А так же есть небольшая неточность в выводе информации для режима "Save As..", заключающаяся в том, что Baseline (скан в один проход) в фотошопе выполняется в режимах "standart" и "optimized", а так как показывает сейчас можно подумать, что это три разных режима - Baselinе, Оptimized и Progressive.
Есть предложение подправить для точности.
Кстати, JPEGsnoop распространяется с открытым исходным кодом. Понимаю, что копаться в чужом коде ещё то удовольствие, но может так будет проще определить к чему идет привязка там при определении параметров. Это может дать возможность определять качество не только для файлов Фотошопа, но и массы других программ.
Это был бы тогда уже плагин для массового использования!
Добавлено спустя 9 минут:
Для режима "Save for Web" параметров похоже, что столько же.. если чекбокс "optimized" не выбран получится аналог Baselinе (standard), но как его по файлу отличить от Baselinе (Оptimized) я пока не знаю.
Скриншот
Интересно, какое количество сканов используется при прогресивном режиме в этом случае?
ICC можно встроить в обоих режимах, но записываются они в файл поразному.
! | Avada: | Замечание за массовое нарушение правил форума. Пост приведён в пристойный вид: неформатные картинки заменены ссылками, убраны ненужные пустые строки, оффтопная приписка (да ещё и с выделением ярким цветом) удалена полностью. | |
|
Back to top |
|
 |
Dec
Joined: 07 Sep 2006 Posts: 466
|
(Separately) Posted: Sat Feb 11, 2012 00:28 Post subject: |
|
|
Обновил логику плагина. |
|
Back to top |
|
 |
aLLigator

Joined: 01 Dec 2011 Posts: 167 Location: из тех ворот, что и весь народ...
|
(Separately) Posted: Sat Feb 11, 2012 02:47 Post subject: |
|
|
Немного информации по поводу отличий Baselinе (standard) и Baselinе (Оptimized) в структуре для режима "Save for Web".
Отличия имеет только маркер DHT (Таблицы Хаффмана), а точнее его размер.. файл сжатый в обычном Baselinе имеет вдвое больший размер этой секции по сравнению с Оptimized и Progressive.
Кстати, это же самое справедливо и для режима "Save As.."
Все остальные маркеры либо абсолютно идентичны, либо не имеют существенных различий.
Надеюсь эта информация как-то поможет!
Так же пытаюсь понять колько же всетаки сканов используется в Progressive...
Немного о самой структуре:
Code: |
Маркер [FF C4]: DHT (таблица Хаффмана)
Эта секция хранит коды и значения полученные кодированием Хаффмана.
_______________FF C4 00 15 00 01 01 00 00 00 00
00 00 00 00 00 00 00 00 00 00 03 02
[00 15] длина: 21 байт.
[0_] класс: 0 (0 — таблица AC коэффициэнтов, 1 — таблица DC коэффициэнтов).
[_0] идентификатор таблицы: 0
Длина кода Хаффмана: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Количество кодов: [01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00]
Количество кодов означает количество кодов такой длины. Обратите внимание, что секция хранит только длины кодов, а не сами коды. Мы должны найти коды сами. Итак, у нас есть один код длины 1 и один — длины 2. Итого 2 кода, больше кодов в этой таблице нет.
С каждым кодом сопоставлено значение, в файле они перечислены следом. Значения однобайтовые, поэтому читаем 2 байта.
[03] — значение 1-го кода.
[02] — значение 2-го кода.
|
Last edited by aLLigator on Sun Feb 12, 2012 01:55; edited 3 times in total |
|
Back to top |
|
 |
Mellomann

Joined: 07 Sep 2009 Posts: 709
|
(Separately) Posted: Sat Feb 11, 2012 02:49 Post subject: |
|
|
aLLigator
Оптимально - использовать 4, но зависимо от сложности изображения, можно давать хоть 3, хоть 5, хоть вообще 8... |
|
Back to top |
|
 |
aLLigator

Joined: 01 Dec 2011 Posts: 167 Location: из тех ворот, что и весь народ...
|
(Separately) Posted: Sat Feb 11, 2012 02:51 Post subject: |
|
|
Mellomann wrote: | aLLigator
Оптимально - использовать 4, но зависимо от сложности изображения, можно давать хоть 3, хоть 5, хоть вообще 8... |
В режиме "Save for Web" не дает выбрать.. хочется просто знать сколько использует по умолчанию. |
|
Back to top |
|
 |
Моторокер

Joined: 06 May 2005 Posts: 1517 Location: г. Пермь (читается Перьмь)
|
(Separately) Posted: Thu Feb 16, 2012 02:14 Post subject: |
|
|
Начинал как-то писать такой плагин для получения информации по JPEG файлу.
uses
ImageEnIO, imageenproc, hyieutils, hyiedefs, TIFLZW, GifLZW;
JpegFileQuality:= IECalcJpegFileQuality(FileName)
Показывает сжатие в процентах. _________________ плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми |
|
Back to top |
|
 |
|