nixp.ru v3.0

24 января 2017,
вторник,
08:08:52 MSK

DevOps с компанией «Флант»
anonymous написал 31 августа 2004 года в 18:41 (313 просмотра) Ведет себя неопределенно; открыл 1814 темы в форуме, оставил 5575 комментариев на сайте.

Имеется каталог с иконками 128х128, как мне из них сделать иконки 64х64, только чтобы не ресайзить каждую по отдельности?

Dreid

Скрипт на gimp-perl написать :)

anonymous

Есть способ гораздо проще, я думаю это все можно сделать с помощью convert. Вот такое я сделал:

convert -resize 64×64 *.png 64×64/*.png

Ресайзиться все нормально, там можно даже фильтр задать с помощью которго ресайзить, но вот только имена файлов получаются такого рода:

*.png.0 *.png.114 *.png.19 *.png.35 *.png.51 *.png.68 *.png.84

как бы сделать так чтоб имена файлов сохранялись?

Genie

for f in *.png; do convert …. $f thumb/$f; done

Master


for f in `ls *.png` ;do
    convert -resize 64x64 $f tmp.png
    rm $f
    mv tmp.png $f
done
Genie

Master,

А зачем использовать `ls *.png`? мало того, что это создаст несколько дополнительных проблем, так это ещё и афункционально, поскольку sh сам подставит и развернёт *.png правильно.

Master
Genie
А зачем использовать `ls *.png`? мало того, что это создаст несколько дополнительных проблем, так это ещё и афункционально, поскольку sh сам подставит и развернёт *.png правильно.

Да заметил только когда запостил…

Master

В случае

for $f in *.png

при отсутствии файлов *.png sh подставляет не пустую строку, а строку «*.png»

При `ls *.png` такого не происходит. По крайней мере, у меня так.

Genie
при отсутствии файлов *.png sh подставляет не пустую строку, а строку «*.png»

гхммм.. ну, я не думаю, что кто-то будет ручками пускать скрипт в каталоге, где нет таких файлов. ;)

хотя, учитывая все допущенные «ляпы», правильнее использовать тогда find:

$ find . -iname '*.png' -exec convert .... {} thumb/{} \;
anonymous

спасибо, у меня первый скрипт правильно работат

ecobeingecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.