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 

Объединение одноимённых иконок разных размеров в единый файл

 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
LonerD



Joined: 04 Jan 2011
Posts: 1172
Location: Макеевка

Post (Separately) Posted: Wed May 01, 2013 02:59    Post subject: Объединение одноимённых иконок разных размеров в единый файл Reply with quote

Имеется. Пакет иконок в виде ico или png-файлов. Как пример - регулярно обновляющийся FatCow от сурового челябинскиго барнаульского дизайнера.
Иконки в формате ico или png разложены по разным каталогам, который называются обычно наподобие 16x16, 32х32.
Цель - автоматические объединить все одноимённые иконки из разных каталогов (то есть одинаковые иконки разных размеров) в единый ico-файл.

В идеале - сформировать на основе имеющихся иконок также иконки недостающих желаемых размеров. Скажем, имеются 16х16 и 32х32, и надо сформировать 24х24 на основе 16х16, а также 48х48 на основе 32х32.

Сделать это в разных программах можно, но вручную объединять несколько сотен или тысяч иконок - не очень увлекательно.
_________________
Windows 11 | TC DreamLair eternal pre-α
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Thu May 02, 2013 23:43    Post subject: Reply with quote

LonerD
А если выбрать картинки с заведомо наибольшим форматом и из них конвертировать в иконки с требующимися?
Code:
TOTALCMD#BAR#DATA
%ComSpec% /c for /f "delims=" %i in
('type %WL') do "C:\Program Files\Any to Icon\Any2Icon.exe" "%%i" dest="%T" sz=16x16x32,24x24x32,32x32x32,48x48x32 sr-"
C:\Program Files\Any to Icon\Any2Icon.exe
Создавать из выбранных файлов-изображений сконвертированные в ICO файлы в другой панели

1

_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
LonerD



Joined: 04 Jan 2011
Posts: 1172
Location: Макеевка

Post (Separately) Posted: Fri May 03, 2013 00:06    Post subject: Reply with quote

Flasher wrote:
LonerD
А если выбрать картинки с заведомо наибольшим форматом и из них конвертировать в иконки с требующимися?[/code]

Тогда иконки с меньшим форматом будут не очень красивыми. Лучше получается, если брать меньший размер и растягивать его до большего. Если есть 16х16 и 32х32, то размер 24х24 получится наиболее красивым если растягивать 16х16.

За подсказку спасибо. Так немного проще - надо будет вначале сделать костяк в Any to Icon, а потом добавлять необходимое. Но всё равно много ручной работы если хочется подготовить сразу много иконок.

Можно предварительно подготовить все иконки (групповое изменение размера и конвертация поштучно каждой иконки в формат ico). Тогда можно свести задачу к следующей:
Имеются группы по четыре иконки в формате ico разных размеров. Иконки имеют одинаковое имя, но лежат в разных каталогах (согласно размеру):
16\Icon1.ico
24\Icon1.ico
32\Icon1.ico
48\Icon1.ico

или же лежат в одном каталоге, но в конце имени имеют дописку согласно размеру.
Icon1-16.ico, Icon1-24.ico, Icon1-32.ico, Icon1-48.ico.

(разложить по отдельным каталогам или выполнить групповое переименование - не проблема).
Цель - объединить по четыре соответствующих иконки в одну.
_________________
Windows 11 | TC DreamLair eternal pre-α
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Fri May 03, 2013 00:31    Post subject: Reply with quote

LonerD wrote:
Лучше получается, если брать меньший размер и растягивать его до большего.
Не может такого быть. Увеличатся квадраты, и иконка будет выглядеть как (4-х/8-ми)битная.
Но раз так надо, то выбирай наименьшие вместо наибольших, хотя абсурдное это дело, честное слово...

LonerD wrote:
Цель - объединить по четыре соответствующих иконки в одну.
Да это я понял, только программ с комстрокой таких пока не знаю, кроме png2ico. Не уверен, что тебе одного png хватит.
Если хватит, то скрипт будет весьма прост. Вопрос только в выборе одного из указанных способов.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Fri May 10, 2013 14:32    Post subject: Reply with quote

LonerD wrote:
Иконки в формате ico или png
Поскольку ты указал только эти два формата, то вопрос решается. png2ico + icobundle.
Ещё не сделал скрипт?
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Serge Yolkin



Joined: 25 Jul 2009
Posts: 664

Post (Separately) Posted: Sat May 11, 2013 01:33    Post subject: Reply with quote

С icobundle ещё не разбирался, а вот png2ico, похоже, не знает, что бывает болше 256 цветов. Поправьте меня, если это не так.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sat May 11, 2013 02:54    Post subject: Reply with quote

Serge Yolkin
Не знает. Только 2, 16 и 256. В большинстве случаев достаточно 256.
Если мало, то остаётся convert.exe + vcomp100.dll от ImageMagick: convert -adjoin %S -auto-level -adaptive-resize 32x32 -despeckle -filter bessel "%T%O.ico"
Скорость в разы быстрее. С ним можно и склеивать и добавлять ресайзнутые картинки разных форматов одновременно. Правда есть определённые хитрости..

P.S.: Только не вздумай на базе IM hta делать.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Serge Yolkin



Joined: 25 Jul 2009
Posts: 664

Post (Separately) Posted: Sun May 12, 2013 01:12    Post subject: Reply with quote

Flasher
Издеваешься? Я как-то (больше года назад) для ffmpeg сделать хотел, до сих пор не осилил список возможных ключей комстроки. Здесь - та же история. Если кому надо - лучше поискать готовый интерморд, наверняка ведь есть где-нибудь. Мне не надо. А для пары-тройки готовых команд em_ рулит.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun May 12, 2013 13:33    Post subject: Reply with quote

Serge Yolkin
Наоборот, осознаю и предупреждаю. К тому же там есть компонент, можно на его базе всё писать, но это ещё в несколько раз тяжче...

ЗЫ: em_ тут никак не рулит..
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
LonerD



Joined: 04 Jan 2011
Posts: 1172
Location: Макеевка

Post (Separately) Posted: Wed May 15, 2013 04:05    Post subject: Reply with quote

Flasher wrote:
Ещё не сделал скрипт?

Нет. Confused

Flasher wrote:
Не может такого быть. Увеличатся квадраты, и иконка будет выглядеть как (4-х/8-ми)битная.
Но раз так надо, то выбирай наименьшие вместо наибольших, хотя абсурдное это дело, честное слово...

Признаю, был неправ. Действительно, обычно из большего получается лучше.
Хотя не всегда. Иногда такая ситуация, что большая иконка имеет много деталей, которые при уменьшении просто размазываются, а меньшая иконка менее детализированная, и тогда лучше взять за основу её.

Тогда лучше так: при создании иконки для каждого из размеров в параметрах или прямо в теле скрипта нужно указывать из какого каталога брать файл для создания того или иного размера.
Например, вот такой частный случай:
для 16х16 иконки - брать из каталога 16
для 24х24 иконки - брать из каталога 256 (потому что 24х24 не нарисованы в данном конкретном сете)
для 32х32 иконки - брать из каталога 32
для 48х48 иконки - брать из каталога 48
_________________
Windows 11 | TC DreamLair eternal pre-α
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Wed May 15, 2013 15:56    Post subject: Reply with quote

LonerD wrote:
большая иконка имеет много деталей, которые при уменьшении просто размазываются
Зависит от выбора иконки бесспорно. Старайся выбирать иконки с линиями потолще. Чаще следует не использовать ресемплирование.
LonerD wrote:
для 24х24 иконки - брать из каталога 256 (потому что 24х24 не нарисованы в данном конкретном сете)
Если есть специконка для 32, то логично было бы из неё брать. Нет?
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
LonerD



Joined: 04 Jan 2011
Posts: 1172
Location: Макеевка

Post (Separately) Posted: Wed May 15, 2013 16:23    Post subject: Reply with quote

Flasher wrote:
Если есть специконка для 32, то логично было бы из неё брать. Нет?

Наверное, всё зависит от иконки и её детализации. Сейчас попробовал сделать иконку 24 из 256 и 32 - в результате из 256 получилось чуть аккуратней.

В целом, плагин GraphicConverter решил вопрос, поднятый в начале темы. Пусть полного автоматизма с недостающими форматами и не достигнуто, но решение в несколько проходов вполне жизнеспособное для подобной не-повседневной задачи.
_________________
Windows 11 | TC DreamLair eternal pre-α
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Wed May 15, 2013 16:50    Post subject: Reply with quote

LonerD wrote:
Сейчас попробовал сделать иконку 24 из 256 и 32 - в результате из 256 получилось чуть аккуратней.
Я же пишу, что зависит от иконки и "улучшайзеров".
LonerD wrote:
В целом, плагин GraphicConverter решил вопрос, поднятый в начале темы.
Тогда сворачиваемся..
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Tue May 21, 2013 17:07    Post subject: Reply with quote

LonerD
Ещё информация. Оказывается, в последней версии nConvert (у меня старше стояла) автор добавил поддержку мультистраничных ICO.
nconvert.exe -quiet -multi -o "%O.ico" -out ico -l %L
Не все форматы берёт, правда. SVG, например.
PNG, JPEG, BMP, GIF и т.п. - без проблем.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
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
Page 1 of 1

 
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