Beeldgrootten aanpassen met ImageMagik
Automatisch aanpassen van afbeeldingen om ze aan te passen aan statische sites
Mainroad thema in Hugo verkleint afbeeldingen niet automatisch, maar kopieert gewoon vanuit de statische map. Dus moeten we een script voorbereiden om afbeeldingen te verkleinen en te kappen tot de juiste grootte.
Wanneer
Ik heb meerdere bronnen voor afbeeldingen – smartphone en camera zijn de meest gebruikte. Ze hebben verschillende resoluties en aspectverhoudingen.
Dus hebben we een verwerkingsvolgorde nodig:
- centraal kappen tot de aspectverhouding
- verkleinen (verkleinen) tot twee resoluties. Jpeg kwaliteit – 80% is voldoende.
- 235x171
- 678x495
Waar
Stel dat de bronafbeeldingen allemaal in de map ~/tmp/img_src zijn We moeten
- het resultaat van de afbeeldingen naar de mappen ~/tmp/img_235x171 en ~/tmp/img_678x495 verplaatsen
- de afbeeldingen noemen zoals
_235x171.jpg en _678x495.jpg
Hoe
In Ubuntu Linux gebruiken we imagemagick
sudo apt-get install imagemagick
Kappingsstap:
convert wizard.png -gravity center -extent 11:8 wizarc.jpg
# controleer nu de geometrie
identify wizard.png wizarc.jpg
Verkleiningsstap
convert wizarc.jpg -resize 678x495 -quality 80 -interlace plane wizarc_678x495.jpg
convert wizarc.jpg -resize 235x171 -quality 80 -interlace plane wizarc_235x171.jpg
# controleer nu de geometrie
identify wizarc.jpg wizarc_678x495.jpg wizarc_235x171.jpg
80 is de jpeg kwaliteit, en plane betekent progressieve jpeg. Het helpt bij het laden van afbeeldingen sneller op langzame verbindingen, niet alleen omdat eerst de miniaturisatie wordt geladen, maar ook omdat het bestand zelf kleiner is. Tenminste in het geval van de wizard.
Met randen
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
# controleer nu de geometrie
identify wizarc.jpg wizarc_678x495.jpg wizarc_235x171.jpg
Het resulterende beeld dat je ziet in de hoofdsectie van dit bericht en de verhoudingen van de bronafbeelding zien eruit zoals:
dat is na eenvoudige herschaling en het toevoegen van een rand
convert wizard.png -resize 20% -quality 85 -interlace plane -border 2x2 wizard20.jpg
Andere opties
nautilus-image-converter
nautilus-image-converter is een nautilus-uitbreiding om afbeeldingen in massa te verkleinen of te draaien. Om nautilus-image-converter te installeren in alle momenteel ondersteunde versies van Ubuntu open je het terminalvenster en typ je:
sudo apt-get install nautilus-image-converter
Het voegt twee contextmenuopties toe in nautilus, zodat je met de rechtermuisknop kunt klikken en “Afbeelding verkleinen” kunt kiezen. (De andere is “Afbeelding draaien”).
Je kunt een hele map vol afbeeldingen in één keer verwerken, en je hoeft zelfs geen toepassing te openen om dat te doen.
Je moet nautilus herstarten om de nieuwe contextmenuopties te zien, voer dan uit
nautilus -q
en klik vervolgens op het pictogram van de Home-map om nautilus opnieuw te laden met de nieuwe uitbreiding.
mogrify
Het commando mogrify vervangt de originele bestanden met de verkleinde afbeeldingen:
mogrify -resize 50% *.png # behoud de aspectverhouding van de afbeelding mogrify -resize 320x240 *.png # behoud de aspectverhouding van de afbeelding mogrify -resize 320x240! *.png # behoud niet de aspectverhouding van de afbeelding mogrify -resize x240 *.png # behoud niet de aspectverhouding van de afbeelding mogrify -resize 320x *.png # behoud niet de aspectverhouding van de afbeelding
Andere handige tools
Geef afbeeldingsmeta-informatie – zoals resolutie, bitdiepte enz. – deel van de imagemagick pakket.
identify image.jpg
zou iets als volgt produceren
image.jpg JPEG 720x482 720x482+0+0 8-bit DirectClass 100KB 0.000u 0:00.009
Afbeeldingen converteren naar PDF
convert $(ls -v *.jpg) foobar.pdf
convert $(ls -v *.png) foobar.pdf
Handige links
- https://www.imagemagick.org/
- https://legacy.imagemagick.org/discourse-server/viewtopic.php?t=33448
- Flux tekst naar afbeelding
- Hoe afbeeldingen te extraheren uit PDF - cheatsheet
- Hoe terminalvensters te starten in tegelvorm op Linux Mint en Ubuntu
- Gebruik van Gitea Actions om Hugo website te implementeren op AWS S3