Страница 1 из 1
Объединение одноимённых иконок разных размеров в единый файл
Добавлено: Ср май 01, 2013 02:59
LonerD
Имеется. Пакет иконок в виде ico или png-файлов. Как пример - регулярно обновляющийся
FatCow от сурового [s]челябинскиго[/s] барнаульского дизайнера.
Иконки в формате ico или png разложены по разным каталогам, который называются обычно наподобие 16x16, 32х32.
Цель - автоматические объединить все одноимённые иконки из разных каталогов (то есть одинаковые иконки разных размеров) в единый ico-файл.
В идеале - сформировать на основе имеющихся иконок также иконки недостающих желаемых размеров. Скажем, имеются 16х16 и 32х32, и надо сформировать 24х24 на основе 16х16, а также 48х48 на основе 32х32.
Сделать это в разных программах можно, но вручную объединять несколько сотен или тысяч иконок - не очень увлекательно.
Добавлено: Чт май 02, 2013 23:43
Flasher
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
Добавлено: Пт май 03, 2013 00:06
LonerD
Flasher писал(а):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.
(разложить по отдельным каталогам или выполнить групповое переименование - не проблема).
Цель - объединить по четыре соответствующих иконки в одну.
Добавлено: Пт май 03, 2013 00:31
Flasher
LonerD писал(а):Лучше получается, если брать меньший размер и растягивать его до большего.
Не может такого быть. Увеличатся квадраты, и иконка будет выглядеть как (4-х/8-ми)битная.
Но раз так надо, то выбирай наименьшие вместо наибольших, хотя абсурдное это дело, честное слово...
LonerD писал(а):Цель - объединить по четыре соответствующих иконки в одну.
Да это я понял, только программ с комстрокой таких пока не знаю, кроме png2ico. Не уверен, что тебе одного png хватит.
Если хватит, то скрипт будет весьма прост. Вопрос только в выборе одного из указанных способов.
Добавлено: Пт май 10, 2013 14:32
Flasher
LonerD писал(а):Иконки в формате ico или png
Поскольку ты указал только эти два формата, то вопрос решается.
png2ico +
icobundle.
Ещё не сделал скрипт?
Добавлено: Сб май 11, 2013 01:33
Serge Yolkin
С icobundle ещё не разбирался, а вот png2ico, похоже, не знает, что бывает болше 256 цветов. Поправьте меня, если это не так.
Добавлено: Сб май 11, 2013 02:54
Flasher
Serge Yolkin
Не знает. Только 2, 16 и 256. В большинстве случаев достаточно 256.
Если мало, то остаётся convert.exe + vcomp100.dll от
ImageMagick: convert -adjoin
%S -auto-level -adaptive-resize
32x
32 -despeckle -filter bessel "
%T%O.ico"
Скорость в разы быстрее. С ним можно и склеивать и добавлять ресайзнутые картинки разных форматов одновременно. Правда есть определённые хитрости..
P.S.: Только не вздумай на базе IM hta делать.

Добавлено: Вс май 12, 2013 01:12
Serge Yolkin
Flasher
Издеваешься? Я как-то (больше года назад) для ffmpeg сделать хотел, до сих пор не осилил список возможных ключей комстроки. Здесь - та же история. Если кому надо - лучше поискать готовый интерморд, наверняка ведь есть где-нибудь. Мне не надо. А для пары-тройки готовых команд em_ рулит.
Добавлено: Вс май 12, 2013 13:33
Flasher
Serge Yolkin
Наоборот, осознаю и предупреждаю. К тому же там есть компонент, можно на его базе всё писать, но это ещё в несколько раз тяжче...
ЗЫ: em_ тут никак не рулит..
Добавлено: Ср май 15, 2013 04:05
LonerD
Flasher писал(а):Ещё не сделал скрипт?
Нет.
Flasher писал(а):Не может такого быть. Увеличатся квадраты, и иконка будет выглядеть как (4-х/8-ми)битная.
Но раз так надо, то выбирай наименьшие вместо наибольших, хотя абсурдное это дело, честное слово...
Признаю, был неправ. Действительно, обычно из большего получается лучше.
Хотя не всегда. Иногда такая ситуация, что большая иконка имеет много деталей, которые при уменьшении просто размазываются, а меньшая иконка менее детализированная, и тогда лучше взять за основу её.
Тогда лучше так: при создании иконки для каждого из размеров в параметрах или прямо в теле скрипта нужно указывать из какого каталога брать файл для создания того или иного размера.
Например, вот такой частный случай:
для 16х16 иконки - брать из каталога 16
для 24х24 иконки - брать из каталога 256 (потому что 24х24 не нарисованы в данном конкретном сете)
для 32х32 иконки - брать из каталога 32
для 48х48 иконки - брать из каталога 48
Добавлено: Ср май 15, 2013 15:56
Flasher
LonerD писал(а):большая иконка имеет много деталей, которые при уменьшении просто размазываются
Зависит от выбора иконки бесспорно. Старайся выбирать иконки с линиями потолще. Чаще следует не использовать ресемплирование.
LonerD писал(а):для 24х24 иконки - брать из каталога 256 (потому что 24х24 не нарисованы в данном конкретном сете)
Если есть специконка для 32, то логично было бы из неё брать. Нет?
Добавлено: Ср май 15, 2013 16:23
LonerD
Flasher писал(а):Если есть специконка для 32, то логично было бы из неё брать. Нет?
Наверное, всё зависит от иконки и её детализации. Сейчас попробовал сделать иконку 24 из 256 и 32 - в результате из 256 получилось чуть аккуратней.
В целом, плагин GraphicConverter решил вопрос, поднятый в начале темы. Пусть полного автоматизма с недостающими форматами и не достигнуто, но решение в несколько проходов вполне жизнеспособное для подобной не-повседневной задачи.
Добавлено: Ср май 15, 2013 16:50
Flasher
LonerD писал(а):Сейчас попробовал сделать иконку 24 из 256 и 32 - в результате из 256 получилось чуть аккуратней.
Я же пишу, что зависит от иконки и "улучшайзеров".
LonerD писал(а):В целом, плагин GraphicConverter решил вопрос, поднятый в начале темы.
Тогда сворачиваемся..
Добавлено: Вт май 21, 2013 17:07
Flasher
LonerD
Ещё информация. Оказывается, в
последней версии nConvert (у меня старше стояла) автор добавил поддержку мультистраничных ICO.
nconvert.exe -quiet -multi -o "%O.ico" -out ico -l %L
Не все форматы берёт, правда. SVG, например.
PNG, JPEG, BMP, GIF и т.п. - без проблем.