[image magick]convert foto.jpeg naar thumb_foto.jpg

Pagina: 1
Acties:

  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 15:01
Ik kom er zo niet uit... Hoe kan ik een batch foto's automatisch resizen naar 400 hoogte of 400 breedte met behoud van de aspect ratio? En hoe kan ik er dan nog een watermerk inkrijgen? Al dit soort dingen kunnen met php of perl oid prima aangeroepen worden, maar ik wil het gewoon los met imagemagick doen. Google geeft alleen maar hits met php e.d. en hier op got kan ik helemaal niets vinden over image magick.

En wordt altijd de originele overschreven? Of kan je ook een voorvoegsel toevoegen?

Ik weet dat je met convert aan de slag moet, maar het lukt me gewoon niet...

  • Oezie Woezie
  • Registratie: December 1999
  • Niet online

Oezie Woezie

Pim. is de beste

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
        mkdir thumbs
        mkdir small
        for img in `ls *.JPG`
        do
                if [ ! -f small/$img ]
                then
                        X=`identify -format "%w" $img`
                        Y=`identify -format "%h" $img`
                      
                        if [ $X -lt $Y ] ; then
                                convert -strip -sample 90x120 $img thumbs/$img
                                convert -strip -resize 600x800 $img small/$img
                        else
                                convert -strip -sample 120x90 $img thumbs/$img
                                convert -strip -resize 800x600 $img small/$img
                        fi
                fi
                composite -gravity SouthEast /home/erik/public_html/overlay_small.png small/$img small/$img
        done


verkleind het 2 keer, 90x120 en 600x800. en daarna met composite nog een logo er overheen plakken.

een mooi Tshirt met Pim. is de beste enzo


  • X-DraGoN
  • Registratie: Juli 2005
  • Laatst online: 10:00
BDsizer is daar een goed programmaatje voor (wel windows based, misschien kan je het in Wine draaien)

http://www.photo-freeware.net/bdsizer.php

  • MartinMeijerink
  • Registratie: Juli 2008
  • Nu online

MartinMeijerink

Computerrorist

@Oezie Woezie: Waarom moeilijk doen als het makkelijk kan, je hoeft nl. niet te checken of de foto portrait of landscape is. Verder kun je die for lus beter anders beginnen; als je nu een foto tegenkomt met een spatie in de naam dan werkt het niet. Ook het inplakken van het logo zoals je hier doet werkt niet. En waarom de optie -sample gebruiken? Het gaat zo wel iets sneller, maar zo'n thumbnail ziet er dan niet uit!

Hier mijn versie, doet precies wat TS vraagt:
for i in *.jpg;do
  convert -resize 400x400 "$i" "tmp.png"
  composite -dissolve 20 "watermerk.png" "tmp.png" "thumb_$i"
done
rm tmp.png

De eerste keer maak ik er een png van, om onnodige kwaliteitsverlies als gevolg van lossy compressie te elimineren. Convert zorgt standaard voor het behoud van de aspect ratio. De parameter na -dissolve geeft de doorzichtigheid aan van het watermerk aan. Is het watermerk van zichzelf al doorzichtig genoeg, dan zou je deze parameter ook op 100 kunnen zetten.

An unbreakable toy is useful to break other toys