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