Есть ли любые утилиты командной строки для Linux (или другая подобная Unix ОС), который может:
Например:
% cool_icon_maker myimage_128x128.png file.ico
В file.ico
должны автоматически быть все размеры значков как 128x128, 64x64, 32x32, 16x16, и т.д.
Я не знаю единого решения, но я знаю две части, которые могут быть объединены:
icotool
, который может создать/извлечь .ico файлы.convert
, который может преобразовать и изменить размер файлов к желаемым размерам.Так, что-то вроде этого будет работать (это может только работать на файлы с ".png" расширением):
#!/bin/bash
# Just pass the original .png image as the only parameter to this script.
SOURCE="$1"
BASE=`basename "${SOURCE}" .png`
convert "${SOURCE}" -thumbnail 16x16 "${BASE}_16.png"
convert "${SOURCE}" -thumbnail 32x32 "${BASE}_32.png"
convert "${SOURCE}" -thumbnail 48x48 "${BASE}_48.png"
convert "${SOURCE}" -thumbnail 64x64 "${BASE}_64.png"
icotool -c -o "${BASE}.ico" "${BASE}"_{16,32,48,64}.png
rm -f "${BASE}"_{16,32,48,64}.png
Это чертовски ужасно, я знаю. Но просто понять, и это работает (я протестировал его!). Просто будьте осторожны, поскольку это создаст временные файлы на текущем каталоге и позже удалит их.