- Pluffo
- Medlem ●
- Stockholm
- 2010-08-05 02:30
Jag tänkte att jag skulle starta en tråd där vi kan diskutera angelägenheter beträffande ImageMagick, gratisprogrammet där du editerar dina bilder direkt ifrån OS X:s terminal, nerd style
Personligen så installerade jag programmet eftersom jag behövde editera ett stort antal bilder och inte hade någon lust att manuellt gå igenom varenda bild. Denna typ av så kallade batch-editeringar kan man göra på många olika sätt, i många olika program, men jag fann mig själv tycka om ImageMagicks approach, som är väldigt snabb och precis.
Nedan följer en kort beskrivning av hur man installerar programmet samt ett enklare exempel på hur det kan användas.
Installation
Det smidigaste sättet att installera programmet är, tro det eller ej, inte att surfa till programmets officiella hemsida, http://www.imagemagick.org, och ladda hem vad man hittar, utan att istället trycka in The MacPorts Project -- Home i sin webläsare, klicka på "installing MacPorts" och ladda hem lämplig installationsfil. MacPorts är ett program som tillåter dig att installera och uppgradera en hel drös med open source-program till OS X genom terminalen.
När du har installerat detta program öppnar du ett terminalfönster och skriver "sudo port install ImageMagick" och trycker enter. Sedan anger du ditt lösenord och går och gör någonting annat ett tag. Installationsprocessen tar ett tag, men det är det värt.
När installationen är klar är du redo att använda ImageMagick, direkt ifrån terminalen.
Användning
Du använder ImageMagick genom att navigera till den katalog du har dina bilder i (du gör detta med hjälp av kommandona "ls", "cd .." och "cd {katalognamn}") och sedan helt enkelt skriva ett kommando. Under "Command-line tools" på ImageMagicks officiella hemsida hittar du all information du behöver om detta, men för att du ska få en känsla för hur det kan se ut så tänkte jag här presentera vad det är som jag gjorde.
Exempel
Jag ville göra två saker med mina bilder: Göra dem svartvita samt förändra deras upplösning, men på ett sätt där bilden klipptes vid förminskning i sidled, snarare än att tryckas ihop.
Låt oss först titta på hur kommandot för detta ser ut om man bara vill manipulera en bild (låt oss säga att dess namn är image.jpg):
convert image.jpg -colorspace Gray -resize x762 -gravity center -extent 562x762 image_modified.jpg
Det första kommandot, "convert", är ett av ImageMagicks alla grundkommandon som kommer först och anger att jag vill konvertera bilden på något sätt (om jag hade valt att skriva till exempel "Display" här, följt av någonting annat, så hade jag kunnat titta på bilden). Sedan kommer namnet på bilden som jag vill manipulera, "image.jpg".
Efter detta kommer "-colorspace Gray". "-colorspace" är ett av en mängd olika kommandon som jag kan köra i ImageMagick. Efter detta kommer "Gray" vilket är en mer precis instruktion till "-colorspace"-kommandot. I det här fallet anger jag att hela bilden ska målas upp med olika gråtoner (för en verklig svartvit effekt, pröva kommandot "-monochrome").
Härnäst har jag knappat in "-resize" vilket, som namnet möjligen avslöjar, är ett kommando som förändrar storleken på bilden. Här har jag angett "x762" som min parameter, vilket innebär att höjden sätts till 762 pixlar och att bredden på bilden sätts till vad som behövs för att proportionen mellan de båda sidorna ska behållas.
Till sist kör jag två stycken kommandon: "-gravity" och "-extent". Vad jag är ute efter här är att förändra canvasstorleken på bilden och i samma veva klippa bort det som inte får plats. Om jag bara hade skrivit "-extent 562x762" så hade bilden klippts ifrån höger. Då jag dock har motiv som är centrerade i bilden så önskar jag att det ska klippas lika mycket på båda sidorna, varför jag innan "-extent"-kommandot har lagt in "-gravity center".
Allra sist anger jag vad jag vill att den nya bilden ska heta, i det här fallet "image_modified.jpg".
För att editera ett gäng med bilder samtidigt använde jag mig av följande kommando:
mogrify -colorspace Gray -resize x762 -gravity center -extent 562x762 *
Här är mitt första kommando inte "convert" utan "mogrify". "mogrify" editerar bilderna på samma sätt som "convert" med den skillnaden att originalbilden inte sparas utan skrivs över. Detta kan naturligtvis vara farligt om man inte har någon backup av bilderna, men i mitt fall var det den smidigaste vägen att gå.
Som synes finns i detta kommando ingen direkt referens till någon specifik bild, vilket inte är så konstigt eftersom jag vill editera alla bilder som ligger i den aktuella katalogen. Istället har jag bara lagt in en "*" på slutet vilket betyder att "mogrify" ska utföra den specificerade funktionen på alla filer den kan.
Sammanfattning
I mitt tycke så är ImageMagick ett väldigt enkelt och smidigt program, som framförallt ger en känsla av kontroll över sitt material. Att det sedan går att skapa rätt imponerande tingestar genom användning av till exempel shell script (ett program som körs i terminalen och som kan köra olika terminalkommandon) gör att programmet kan ha väldigt många olika användningsområden.