resize-all-user-pics
943 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/bin/bash
if ! cd public/images/0000; then
echo "
Rode esse script na raiz do Noosfero para ele redimensionar as
imagens dos usuarios.
"
exit 1
fi
echo "
Ok! We are on $(pwd)
"
thumb='100x100'
portrait='64x64'
minor='50x50'
icon='20x20!'
lista='thumb
portrait
minor'
# Padrao: <nome>_<tamanho>.<ext>
for s in $lista icon; do
echo "Deletando tamanho $s"
find . -name "*_$s.*" | xargs -L 1 -I{} rm '{}'
done
find . -type f |
while read img; do
for s in $lista; do
sN=$( eval "echo \$$s" )
echo "Criando tamanho $s ($sN) para $img"
name=$( echo "$img" | sed 's/^\(.*\)\.[^\.]\+$/\1/' )
ext=$( echo "$img" | sed 's/^.*\.\([^\.]\+\)$/\1/' )
convert "$img" -resize $sN "${name}_${s}.$ext"
done
echo "Criando tamanho icon ($icon) para $img"
convert -size $thumb xc:black -gravity Center \
-draw "image over 0,0 0,0 '${name}_thumb.$ext'" \
-resize $icon "${name}_icon.$ext"
done