Afbeeldingen bewerken met ImageMagick

Geschreven door: op maandag 11 januari 2016

Leestijd:

/nieuws/20160111-afbeeldingen-bewerken-met-imagemagick/knipsel-1483030678.png

Afbeeldingen bewerken met ImageMagick

Accessify WCMS maakt het gebruikers mogelijk afbeeldingen te plaatsen in allerlei soorten content en modules. Afbeeldingen zorgen ervoor dat de website aantrekkelijker is en kunnen meer informatie bieden aan bezoekers.

Wanneer een gebruiker een afbeelding uploadt, wordt de afbeelding vrijwel altijd gecontroleerd op de juiste grootte en compressie en zo nodig aangepast.

Na verloop van tijd kwamen wij erachter dat de out-of-the-box-oplossing voor het bewerken van afbeeldingen niet meer voldoet wanneer er te veel of te grote afbeeldingen aangepast moesten worden. We zijn toen op zoek gegaan naar alternatieven. Omdat de applicatieserver JAVA eenvoudig ondersteunt, zijn we eerst gaan kijken naar mogelijkheden in die taal. Hoewel ze beschikbaar zijn, bleken ze toch niet voldoende. Uiteindelijk kwamen we uit bij ImageMagick.

ImageMagick

ImageMagick is software waarmee afbeeldingen bewerkt kunnen worden. Ook kan het gebruikt worden om informatie uit afbeeldingen te halen, zoals aantal kleuren of het gebruikte kleurprofiel.

Het is in principe een verzameling command line tools, die door ons CMS worden uitgevoerd, maar er zijn ook interfaces beschikbaar voor populaire programmeertalen, zodat de software gebruikt kan worden zonder expliciet een apart programma aan te roepen.

Alle tools staan in de programmafolder van ImageMagick, C:\Program Files\ImageMagick-6.9.1-Q16\ bijvoorbeeld.

Bewerkingen

Het Accessify WCMS gebruikt ImageMagick met name om afbeeldingen te schalen (groter of kleiner maken) en om het aantal kleuren te bepalen, zodat een geoptimaliseerde versie van het geüploade bestand getoond wordt.

Schalen

Om afbeeldingen te schalen wordt gebruikgemaakt van convert.exe. Een simpel voorbeeld is:

convert sigmasolutions.gif    -resize 64x64  sigmasolutions_geschaald.gif

Met deze bewerking zorg je ervoor dat een bepaalde afbeelding wordt geschaald naar 64 bij 64 pixels (maar rekening houdend met aspectratio, zie hieronder voor meer daarover). Deze nieuwe, geschaalde afbeelding wordt opgeslagen als het bestand resize_dragon.gif. Wil je het bronbestand aanpassen, maak dan gebruik van de tool mogrify.exe, dat hetzelfde kan als convert.exe, maar het bronbestand overschrijft.

Er zijn verschillende opties bij het schalen, zoals:

  1. Aspectratio negeren: In bovenstaand voorbeeld wordt de afbeelding geschaald naar een afmeting van 64 bij 64 pixels, tenzij de originele verhouding anders is. In dat geval wordt de afbeelding passend geschaald. Je kan dit negeren (en er dus voor zorgen dat de verhouding van de originele afbeelding eventueel aangepast wordt) door \! achter het resize-argument te plaatsen, zoals:  convert sigmasolutions.gif -resize 64x64\!  sigmasolutions _ geschaald.gif.
  2. Alleen afbeeldingen schalen die groter zijn: Normaal gesproken worden alle afbeeldingen geschaald, dus ook die kleiner zijn dan de nieuwe aangegeven afmetingen. Je kan ervoor zorgen dat alleen grotere afbeeldingen worden geschaald via \>, zoals: convert sigmasolutions.gif    -resize 64x64\>  sigmasolutions _ geschaald.gif.

Bovenstaande voorbeelden zijn gekopieerd van de website van ImageMagick, waar je nog meer voorbeelden kan vinden.

Informatie over afbeelding

Informatie over afbeeldingen kan je met identify.exe ophalen. Om het aantal unieke kleuren in een afbeelding op te halen, gebruik je:

Identify –verbose –unique afbeelding.jpg

Deze tool geef output terug (met –verbose uitgebreide informatie) die uitgelezen kan worden. Het aantal kleuren staat in de regel Colors: <aantal kleuren>, wat je met bijvoorbeeld reguliere expressies kan opzoeken.

Zie voor meer informatie en voorbeelden de Basic Usage-pagina.

Interfaces

Zoals al benoemd, er zijn een aantal interfaces beschikbaar voor ImageMagick. Op de website staan deze aangegeven:

“The functionality of ImageMagick is typically utilized from the command-line or you can use the features from programs written in your favorite language. Choose from these interfaces:
G2F (Ada), MagickCore (C), MagickWand (C), ChMagick (Ch), ImageMagickObject (COM+), Magick++ (C++), JMagick (Java), L-Magick(Lisp), Lua (LuaJIT), NMagick (Neko/haXe), Magick.NET (.NET), PascalMagick (Pascal), PerlMagick (Perl), MagickWand for PHP (PHP), IMagick (PHP), PythonMagick (Python), RMagick (Ruby), or TclMagick(Tcl/TK).
With a language interface, use ImageMagick to modify or create images dynamically and automagically.”

ImageMagick zorgt er kortom voor dat wij snel en gemakkelijk met afbeeldingen kunnen werken en wanneer er een oplossing in een andere omgeving gevraagd wordt, hoef je bepaalde code die met afbeeldingsbewerkingen te maken heeft nauwelijks te wijzigen.


Op De Hoogte Blijven?

Online Succes realiseren is een vak, een vak wat wij verstaan en waarover we je graag vertellen. Schrijf je in voor onze maandelijkse nieuwsbrief en blijf op de hoogte van trends, thema’s en succesverhalen.

Aanhef

Andere blogartikelen

Bel 072 5345 888
Meer dan 40 bedrijven vertrouwen op ons
Allrig is de alles in een leverancier binnen de energie-industrie
Aliancys is een toonaangevend wereldwijd bedrijf actief in de verkoop van kwaliteitsharsen
ERIKS is een toonaangevende en innovatieve leverancier aan de procesindustrie en aan machinebouwers, die zowel de rol van specialist als die van brede MRO-leverancier vervult
Industrieel dienstverlener Heinen & Hopman Engineering uit Bunschoten is dé wereldwijde specialist op het gebied van klimaatbeheersing
Handicare is een internationale organisatie die ouderen helpt om hun dagelijks leven gemakkelijker te maken door het produceren van hoogwaardige trapliften
Onze Middelen en Technologieën
Microsoft partner
Adobe partner
Asp dotnet
Google analytics
Google adwords
TelefoonE-mail