Skriptning av bildändringar med ImageMagik
Automatisk storleksanpassning av bilder för statiska webbplatser
Mainroad teman i Hugo ändrar inte automatiskt storlek på bilder, kopierar bara från statisk mapp. Vi behöver därför förbereda ett skript för att ändra storlek och beskära bilder till rätt storlek.

När
Jag har flera bildkällor - mobiltelefon och kamera är de mest frekvent använda. De har olika upplösningar och förhållanden.
Vi behöver en bearbetningssekvens:
- central beskärning till förhållande
- ändra storlek (minska) till två upplösningar. Jpeg-kvalitet - 80% räcker.
- 235x171
- 678x495
Var
Anta att källbilderna finns i mappen ~/tmp/img_src Vi behöver
- flytta resultatbilder till mapparna ~/tmp/img_235x171 och ~/tmp/img_678x495
- namnge bilderna som
_235x171.jpg och _678x495.jpg
Hur
I ubuntu linux kommer vi att använda imagemagick
sudo apt-get install imagemagick
Beskärningssteget:
convert wizard.png -gravity center -extent 11:8 wizarc.jpg
# kontrollera nu geometrin
identify wizard.png wizarc.jpg
Storleksändringssteget
convert wizarc.jpg -resize 678x495 -quality 80 -interlace plane wizarc_678x495.jpg
convert wizarc.jpg -resize 235x171 -quality 80 -interlace plane wizarc_235x171.jpg
# kontrollera nu geometrin
identify wizarc.jpg wizarc_678x495.jpg wizarc_235x171.jpg
80 är en jpeg-kvalitet, och plane betyder progressiv jpeg. Det kommer att hjälpa till att ladda bilder snabbare på långsamma anslutningar, inte bara för att först laddas en miniatyr, utan filen i sig är mindre. Åtminstone i trollkarlens fall.
Med ramar
convert wizarc.jpg -resize 676x493 -quality 80 -interlace plane -border 1x1 wizarc_678x495.jpg
convert wizarc.jpg -resize 233x169 -quality 80 -interlace plane -border 1x1 wizarc_235x171.jpg
# kontrollera nu geometrin
identify wizarc.jpg wizarc_678x495.jpg wizarc_235x171.jpg
Den bild du ser i början av denna post och proportionerna på källbilden såg ut så här:

det är efter enkel storleksändring och tillägg av ram
convert wizard.png -resize 20% -quality 85 -interlace plane -border 2x2 wizard20.jpg
Andra alternativ
nautilus-image-converter
nautilus-image-converter är ett nautilus-tillägg för att massändra storlek eller rotera bilder. För att installera nautilus-image-converter i alla nuvarande versioner av Ubuntu, öppna terminalen och skriv:
sudo apt-get install nautilus-image-converter
Det lägger till två kontextmenyalternativ i nautilus så att du kan högerklicka och välja “Resize Image”. (Det andra är “Rotate Image”).
Du kan göra en hel mapp med bilder på en gång om du vill och du behöver inte ens öppna ett program för att göra det.
Du måste starta om din nautilus för att se nya kontextmenyer, kör
nautilus -q
och klicka sedan på ikonen för hemkatalogen för att ladda om nautilus med det nya plug-in.
mogrify
Kommandot mogrify ersätter originalfilerna med de storleksändrade bilderna:
mogrify -resize 50% *.png # behåll bildens förhållande mogrify -resize 320x240 *.png # behåll bildens förhållande mogrify -resize 320x240! *.png # behåll inte bildens förhållande mogrify -resize x240 *.png # behåll inte bildens förhållande mogrify -resize 320x *.png # behåll inte bildens förhållande
Andra användbara verktyg
Hämta bildmetauppgifter - som upplösning, bitdjup etc. - del av imagemagick-paketet.
identify image.jpg
kommer att producera något som
image.jpg JPEG 720x482 720x482+0+0 8-bit DirectClass 100KB 0.000u 0:00.009
Konvertera bilder till pdf
convert $(ls -v *.jpg) foobar.pdf
convert $(ls -v *.png) foobar.pdf