Hoewel je het wellicht niet zult verwachten kun je op de commando regel ook heel veel grafische bewerkingen doen. Dit is niet alleen in de gewone situaties handig, maar zeker ook als je dingen geautomatiseerd (in batch) wil doen.
Met ImageMagick kun je allerlei bewerkingen doen als het veranderen van kleuren, bijschriften maken, converteren, schalen en vele andere zaken.
Basis manipulaties
ImageMagick bevat een hele handige utility: convert. Hiermee kun je allerlei basis manipulaties doen zoals bijvoorbeelt het aanpassen van de grootte, het veranderen van bestandsformaat, roteren en het toevoegen van bepaalde effecten.
Om een afbeelding voor een website om te vormen naar een thumbnail, kun je het volgende commando gebruiken:
convert -sample 80x60 big.jpg thumb.jpg
Waarbij big.jpg het originele plaatje is en thumb.jpg het resultaat. In plaats van het aantal pixels kun je ook procenten gebruiken:
convert -sample 15%x15% big.jpg thumb.jpg
De utility convert kan ook de afbeelding roteren of flippen.
convert -rotate 90 image_0001.tiff output.tiff
De -rotate parameter roteert standaard de afbeelding kloksgewijs bij het aantal graden wat je opgeeft. Als je wilt dat de rotatie tegen de klok in moet, gebruik je een negatief nummer.
Flippen (dus afbeelding ondersteboven keren) doe je met de flip parameter, deze keert horizontaal:
convert -flip me.jpg me_flipped.jpg
Horizontaal kan ook:
convert -flop me.jpg me_flopped.jpg
Met convert kun je ook het bestand omzetten van het ene bestandsformaat naar de andere:
convert one.jpg newone.png
Bij een grotere collectie kun je hetzelfde doen met de utility mogrify, deze accepteerd wildcards.
mogrify -format tiff *.png
Met mogrify kun je eveneens thumbnails maken:
mogrify -sample 80x60 *.jpg
Let wel op: bovenstaand commando overschrijft je originele bestanden ! Als je het origineel wilt behouden, moet je een verschillend bestandsformaat gebruiken voor de output.
mogrify -format png -sample 15%x15% *.jpg
Effecten toevoegen
Bij de vele opties bied convert ook nog allerlei effecten om toe te passen op de afbeeldingen, zoals: charcoal, colorize, implode, solarize etc. Voorbeeld met charcoal:
convert -charcoal 1 me.png coal.png
Spelen met pdf
Stel je voor dat je een aantal afbeeldingen wil versturen, nu kun je deze afbeeldingen stuk voor stuk toevoegen in je email-client, maar echt practisch voor zowel de verzender als de ontvanger is dit niet. Met convert kun je simpelweg al de afbeeldingen samen in 1 pdf bestand opnemen:
convert *jpg allinone.pdf
Nog leuker: andersom, het halen van alle afbeeldingen uit een pdf bestand werkt ook:
convert allinone.pdf image_%04d.tiff
Het %-teken in de bestandsnaam zal vervangen worden door een getal, 4d wil zeggen dat het cijfer zal bestaan uit 4 tekens, dus 0001, 0002 etc. Als je deze %4d weglaat, zal convert een getal toevoegen achter de extensie, dus bijv. bestand.png.1, wat behoorlijk onpraktisch is.
Tekst toevoegen
Je kunt met convert ook tekst toevoegen aan, of beter gezegd binnen een afbeelding.
convert -font helvetica -fill yellow -pointsize 25 \
-draw 'text 100,250 "tekst afbeelding"' \
image.png text.png
Dit commando specificeert het lettertype helvetica, de kleur geel, font-grootte 25, en de kolom,rij waar de tekst moet beginnen. Je kunt natuurlijk ook meer tekst op verschillende locaties toevoegen.
convert -font helvetica -fill yellow -pointsize 36 \
-draw 'text 100,250 "tekst afbeelding"' \
image.png text.png
Overigens: als je maar 1 woord hebt, hoef je in principe geen dubbele quotes te gebruiken.
Als het lettertype zich niet in een standaard directory bevind (handig bij websites bijvoorbeeld) kun je volledige pad + fontnaam gebruiken.
Frames & Borders
Frames en randen kun je ook eenvoudig toevoegen aan een afbeelding, om bijvoorbeeld een een blauwe rand toe te voegen aan de afbeelding:
convert -bordercolor blue -border 5x5 pic001.png border001.png
In de parameter voor de dikte (5x5), staat het eerste getal voor horizontaal, de tweede voor verticaal. Je kunt een frame/border niet groter maken dan de afbeelding, en een kleur specificeren is verplicht.
Ook heel aardig zijn de schaduw-effecten met raised:
convert -raise 5x5 image.png raised.png
en lowered (in plaats van -raise gebruik je dan _raise) borders. 5x5 staan voor de dimensies.
Meer complexe borders, kun je maken met de parameters: -mattecollor en -frame in plaats van -bordercolor en -border.
Conclusie
Voor een command-line tool heeft ImageMagick dus ongelofelijk veel grafische mogelijkheden. Al de bewerkingen die hier genoemd zijn kun je bovendien ook nog eens gebruiken vanuit allerlei script-talen en programmeertalen. Zo kun je bijvoorbeeld heel handig deze utilities gebruiken op een webserver via php of perl.
Naast de command-line utilities is er ook nog een grafische utility meegeleverd, die je start met het commando:
display





