Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

[WDX_Plugin Request] Параметры сжатия JPEG (Photoshop)
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
aLLigator



Joined: 01 Dec 2011
Posts: 167
Location: из тех ворот, что и весь народ...

Post (Separately) Posted: Tue Feb 07, 2012 20:15    Post subject: [WDX_Plugin Request] Параметры сжатия JPEG (Photoshop) Reply with quote

Существует достаточно полезная программа показывающая различную информацию о 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
View user's profile Send private message
Dec



Joined: 07 Sep 2006
Posts: 466

Post (Separately) Posted: Thu Feb 09, 2012 16:45    Post subject: Re: [WDX_Plugin Request] Параметры сжатия JPEG (Photoshop) Reply with quote

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
View user's profile Send private message
aLLigator



Joined: 01 Dec 2011
Posts: 167
Location: из тех ворот, что и весь народ...

Post (Separately) Posted: Thu Feb 09, 2012 17:53    Post subject: Reply with quote

Огромное спасибо! Как проверю - отпишусь.

Знаю, что сложнее, но мне хотя бы по этому параметру отсортировать файлы - уже хорошо будет!

А программа очень выручает во многих случаях! гораздо больше информации дает, чем Ваш же плагин decMetaExpertWLX, тем более расшифровывает многие параметры, а не просто показывает значения.
Back to top
View user's profile Send private message
Dec



Joined: 07 Sep 2006
Posts: 466

Post (Separately) Posted: Thu Feb 09, 2012 17:57    Post subject: Reply with quote

aLLigator wrote:
Знаю, что сложнее, но мне хотя бы по этому параметру отсортировать файлы - уже хорошо будет!

Кеп мне подсказывает, что сортировкой занимается сам Total. И плагин тут как бы не при делах.

aLLigator wrote:
А программа очень выручает во многих случаях!
Какая программа?
Back to top
View user's profile Send private message
aLLigator



Joined: 01 Dec 2011
Posts: 167
Location: из тех ворот, что и весь народ...

Post (Separately) Posted: Thu Feb 09, 2012 18:12    Post subject: Reply with quote

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
View user's profile Send private message
Dec



Joined: 07 Sep 2006
Posts: 466

Post (Separately) Posted: Thu Feb 09, 2012 18:21    Post subject: Reply with quote

aLLigator wrote:
Сам Тотал никак не отсортирует файлы в порядке возрастания качества (параметра сжатия) JPEG без вывода этого самого параметра в колонку.
Ну, как бы, логично.

aLLigator wrote:
сначала шли только сжатые в режиме "Save for Web" и вопрос успешно был решен Вашим же плагином decHexWdx, посокльку параметр находиться в одном и том же положении
Повторюсь, это не всегда так.

aLLigator wrote:
Есть возможность так же привязаться к режимам сжатия - Baseline: standart/optimized; Progressive и количеству сканов; наличия цветового профиля ICC; цветовой субдискретизации...
Если интересно - могу дать такую информацию для дальнейшего развития плагина!
Все это прикрутить не проблема, но мне лень заниматься вещами, которые никому не нужны.
Back to top
View user's profile Send private message
aLLigator



Joined: 01 Dec 2011
Posts: 167
Location: из тех ворот, что и весь народ...

Post (Separately) Posted: Thu Feb 09, 2012 20:20    Post subject: Reply with quote

Dec wrote:
Все это прикрутить не проблема, но мне лень заниматься вещами, которые никому не нужны.

Ну, я тут подумал... не отказался бы от такого функционала, если Вас это не сильно затруднит!
Back to top
View user's profile Send private message
Dec



Joined: 07 Sep 2006
Posts: 466

Post (Separately) Posted: Thu Feb 09, 2012 20:25    Post subject: Reply with quote

aLLigator wrote:
Ну, я тут подумал... не отказался бы от такого функционала, если Вас это не сильно затруднит!

Пиши конкретно, что нужно добавить. И перейди уже на ты, мы не в театре.
Back to top
View user's profile Send private message
Dec



Joined: 07 Sep 2006
Posts: 466

Post (Separately) Posted: Fri Feb 10, 2012 18:24    Post subject: Reply with quote

aLLigator wrote:
Надо добавить...

Добавил определение режима сжатия и количество сканов. Для "Save for Web" определить Baseline и Otpimized пока не представляется возможным. Standart и Baseline определяются как Baseline. Определение ICC добавлю познее.
Back to top
View user's profile Send private message
aLLigator



Joined: 01 Dec 2011
Posts: 167
Location: из тех ворот, что и весь народ...

Post (Separately) Posted: Fri Feb 10, 2012 21:36    Post subject: Reply with quote

Добрый вечер! Ещё раз спасибо!

Правда заметил, что для режима "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
View user's profile Send private message
Dec



Joined: 07 Sep 2006
Posts: 466

Post (Separately) Posted: Sat Feb 11, 2012 00:28    Post subject: Reply with quote

Обновил логику плагина.
Back to top
View user's profile Send private message
aLLigator



Joined: 01 Dec 2011
Posts: 167
Location: из тех ворот, что и весь народ...

Post (Separately) Posted: Sat Feb 11, 2012 02:47    Post subject: Reply with quote

Немного информации по поводу отличий 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
View user's profile Send private message
Mellomann



Joined: 07 Sep 2009
Posts: 709

Post (Separately) Posted: Sat Feb 11, 2012 02:49    Post subject: Reply with quote

aLLigator
Оптимально - использовать 4, но зависимо от сложности изображения, можно давать хоть 3, хоть 5, хоть вообще 8...
Back to top
View user's profile Send private message
aLLigator



Joined: 01 Dec 2011
Posts: 167
Location: из тех ворот, что и весь народ...

Post (Separately) Posted: Sat Feb 11, 2012 02:51    Post subject: Reply with quote

Mellomann wrote:
aLLigator
Оптимально - использовать 4, но зависимо от сложности изображения, можно давать хоть 3, хоть 5, хоть вообще 8...

В режиме "Save for Web" не дает выбрать.. хочется просто знать сколько использует по умолчанию.
Back to top
View user's profile Send private message
Моторокер



Joined: 06 May 2005
Posts: 1517
Location: г. Пермь (читается Перьмь)

Post (Separately) Posted: Thu Feb 16, 2012 02:14    Post subject: Reply with quote

Начинал как-то писать такой плагин для получения информации по JPEG файлу.
uses
ImageEnIO, imageenproc, hyieutils, hyiedefs, TIFLZW, GifLZW;

JpegFileQuality:= IECalcJpegFileQuality(FileName)

Показывает сжатие в процентах.
_________________
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group