Объединение одноимённых иконок разных размеров в единый файл
Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik
- LonerD
- Сообщения: 1174
- Зарегистрирован: Вт янв 04, 2011 03:56
- Откуда: Макеевка
- Контактная информация:
Объединение одноимённых иконок разных размеров в единый файл
Имеется. Пакет иконок в виде ico или png-файлов. Как пример - регулярно обновляющийся FatCow от сурового [s]челябинскиго[/s] барнаульского дизайнера.
Иконки в формате ico или png разложены по разным каталогам, который называются обычно наподобие 16x16, 32х32.
Цель - автоматические объединить все одноимённые иконки из разных каталогов (то есть одинаковые иконки разных размеров) в единый ico-файл.
В идеале - сформировать на основе имеющихся иконок также иконки недостающих желаемых размеров. Скажем, имеются 16х16 и 32х32, и надо сформировать 24х24 на основе 16х16, а также 48х48 на основе 32х32.
Сделать это в разных программах можно, но вручную объединять несколько сотен или тысяч иконок - не очень увлекательно.
Иконки в формате ico или png разложены по разным каталогам, который называются обычно наподобие 16x16, 32х32.
Цель - автоматические объединить все одноимённые иконки из разных каталогов (то есть одинаковые иконки разных размеров) в единый ico-файл.
В идеале - сформировать на основе имеющихся иконок также иконки недостающих желаемых размеров. Скажем, имеются 16х16 и 32х32, и надо сформировать 24х24 на основе 16х16, а также 48х48 на основе 32х32.
Сделать это в разных программах можно, но вручную объединять несколько сотен или тысяч иконок - не очень увлекательно.
Windows 11 | TC DreamLair eternal pre-α
LonerD
А если выбрать картинки с заведомо наибольшим форматом и из них конвертировать в иконки с требующимися?
А если выбрать картинки с заведомо наибольшим форматом и из них конвертировать в иконки с требующимися?
Код: Выделить всё
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) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
- LonerD
- Сообщения: 1174
- Зарегистрирован: Вт янв 04, 2011 03:56
- Откуда: Макеевка
- Контактная информация:
Тогда иконки с меньшим форматом будут не очень красивыми. Лучше получается, если брать меньший размер и растягивать его до большего. Если есть 16х16 и 32х32, то размер 24х24 получится наиболее красивым если растягивать 16х16.Flasher писал(а):LonerD
А если выбрать картинки с заведомо наибольшим форматом и из них конвертировать в иконки с требующимися?[/code]
За подсказку спасибо. Так немного проще - надо будет вначале сделать костяк в 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-α
Не может такого быть. Увеличатся квадраты, и иконка будет выглядеть как (4-х/8-ми)битная.LonerD писал(а):Лучше получается, если брать меньший размер и растягивать его до большего.
Но раз так надо, то выбирай наименьшие вместо наибольших, хотя абсурдное это дело, честное слово...
Да это я понял, только программ с комстрокой таких пока не знаю, кроме png2ico. Не уверен, что тебе одного png хватит.LonerD писал(а):Цель - объединить по четыре соответствующих иконки в одну.
Если хватит, то скрипт будет весьма прост. Вопрос только в выборе одного из указанных способов.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Поскольку ты указал только эти два формата, то вопрос решается. png2ico + icobundle.LonerD писал(а):Иконки в формате ico или png
Ещё не сделал скрипт?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
-
Serge Yolkin
- Сообщения: 664
- Зарегистрирован: Сб июл 25, 2009 11:12
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 делать.
Не знает. Только 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) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
-
Serge Yolkin
- Сообщения: 664
- Зарегистрирован: Сб июл 25, 2009 11:12
Serge Yolkin
Наоборот, осознаю и предупреждаю. К тому же там есть компонент, можно на его базе всё писать, но это ещё в несколько раз тяжче...
ЗЫ: em_ тут никак не рулит..
Наоборот, осознаю и предупреждаю. К тому же там есть компонент, можно на его базе всё писать, но это ещё в несколько раз тяжче...
ЗЫ: em_ тут никак не рулит..
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
- LonerD
- Сообщения: 1174
- Зарегистрирован: Вт янв 04, 2011 03:56
- Откуда: Макеевка
- Контактная информация:
Нет.Flasher писал(а):Ещё не сделал скрипт?
Признаю, был неправ. Действительно, обычно из большего получается лучше.Flasher писал(а):Не может такого быть. Увеличатся квадраты, и иконка будет выглядеть как (4-х/8-ми)битная.
Но раз так надо, то выбирай наименьшие вместо наибольших, хотя абсурдное это дело, честное слово...
Хотя не всегда. Иногда такая ситуация, что большая иконка имеет много деталей, которые при уменьшении просто размазываются, а меньшая иконка менее детализированная, и тогда лучше взять за основу её.
Тогда лучше так: при создании иконки для каждого из размеров в параметрах или прямо в теле скрипта нужно указывать из какого каталога брать файл для создания того или иного размера.
Например, вот такой частный случай:
для 16х16 иконки - брать из каталога 16
для 24х24 иконки - брать из каталога 256 (потому что 24х24 не нарисованы в данном конкретном сете)
для 32х32 иконки - брать из каталога 32
для 48х48 иконки - брать из каталога 48
Windows 11 | TC DreamLair eternal pre-α
Зависит от выбора иконки бесспорно. Старайся выбирать иконки с линиями потолще. Чаще следует не использовать ресемплирование.LonerD писал(а):большая иконка имеет много деталей, которые при уменьшении просто размазываются
Если есть специконка для 32, то логично было бы из неё брать. Нет?LonerD писал(а):для 24х24 иконки - брать из каталога 256 (потому что 24х24 не нарисованы в данном конкретном сете)
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
- LonerD
- Сообщения: 1174
- Зарегистрирован: Вт янв 04, 2011 03:56
- Откуда: Макеевка
- Контактная информация:
Наверное, всё зависит от иконки и её детализации. Сейчас попробовал сделать иконку 24 из 256 и 32 - в результате из 256 получилось чуть аккуратней.Flasher писал(а):Если есть специконка для 32, то логично было бы из неё брать. Нет?
В целом, плагин GraphicConverter решил вопрос, поднятый в начале темы. Пусть полного автоматизма с недостающими форматами и не достигнуто, но решение в несколько проходов вполне жизнеспособное для подобной не-повседневной задачи.
Windows 11 | TC DreamLair eternal pre-α
Я же пишу, что зависит от иконки и "улучшайзеров".LonerD писал(а):Сейчас попробовал сделать иконку 24 из 256 и 32 - в результате из 256 получилось чуть аккуратней.
Тогда сворачиваемся..LonerD писал(а):В целом, плагин GraphicConverter решил вопрос, поднятый в начале темы.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
LonerD
Ещё информация. Оказывается, в последней версии nConvert (у меня старше стояла) автор добавил поддержку мультистраничных ICO.
nconvert.exe -quiet -multi -o "%O.ico" -out ico -l %L
Не все форматы берёт, правда. SVG, например.
PNG, JPEG, BMP, GIF и т.п. - без проблем.
Ещё информация. Оказывается, в последней версии nConvert (у меня старше стояла) автор добавил поддержку мультистраничных ICO.
nconvert.exe -quiet -multi -o "%O.ico" -out ico -l %L
Не все форматы берёт, правда. SVG, например.
PNG, JPEG, BMP, GIF и т.п. - без проблем.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.