Beeldgrootten aanpassen met ImageMagik

Automatisch aanpassen van afbeeldingen om ze aan te passen aan statische sites

Inhoud

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.

678x495 wizard

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:

20% van de wizard

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