ImageMagick installing and exploring it, a good alternative for the GD library

Although PHP GD library handles basic image operations quite good, you have probably run into the limitations of GD library as well, it is often slow, memory intensive and a bit complicated to use for advanced image effects. ImageMagick however is a very good alternative. It is an opensource software suite licensed under a BSD style license from IM itself. ImageMagick provides in all functionality that can be accomplished with the GD library but even goes a step further with support for more advanced image edit techniques. An example of such a technique is the recently added “liquid scaling” feature, this is a content aware scaling option.

Click the image below to see an example of liquid scaling:
Liquid Scaling with imagemagick

So how do I get such a result? Well with PHP GD library it would take a whole lot of code, thinking and beers to get a script that does the same without exceeding your memory_limit, with ImageMagick however it is just one simple command.

exec("convert inputimage.jpg  -liquid-rescale 250x500%\!  outputimage.jpg");

The nice thing about ImageMagick is that you can often accomplish very sophisticated image effects with just one command, you can also chain commands. Now although IM has a quite good documentation guide available you maybe just want to be able to perform basic image operations with IM without seeking your way trough the documentation all the time. Their are some PHP classes available that will make your life easier.

My personal favor is PhMagick or a home brew script, why? Well I like the idea of wrapper classes more, my code is somewhat more portable because I don’t have to install the IM extension on a server and another PHP extension to communicate with it, furthermore I think that using wrapper classes gives you more insight in IM itself, you will better understand what is going on, on the other hand you probably will spend some hours to figure out why the command is not doing what you expected it to do because you are missing a simple ! or ^ parameter option.

Personal experience on installing IM on the server
Some time ago I wanted to install IM on my new dev and live server, the dev server is running OSX and the live server is running a Fedora distribution. So the first step before I tried to install IM was to read the documentation (yeah I’m one of those guys that also actually reads the readme files and documentation 😉 of products). I followed the “Install from source” tutorial. So I started with the live server, after downloading and unpacking IM I ran the ./configure command immediately I was faced with the error “no acceptable c compiler found in $PATH”, now my Linux skills are far from topnotch, so after some googling I found out that the easiest way to fix this issue was to install GCC (GNU Compiler Collection) that already included a C compiler. After installing GCC and running the ./configure command everything went fine, IM was installed successfully. I wanted to test if it was working correctly so I tried to resize several images but again an error occurred “convert: no decode delegate for this image format”, okay perhaps I should read the documentation more carefully next time because before installing IM you should also install the image libraries that you will use. In my case this was “yum install libjpeg libjpeg-devel libpng libpng-devel libtiff libtiff-devel”, now again I needed to install IM again, not much work, but still something to remember when installing IM. On the dev OSX server installing ImageMagick was quite simple, I used a precompiled dmg and only needed to install the Apple XCode developer tools.

So to summarize:

Advantages of using ImageMagick:

  • it uses less resources, forget about the memory_limit issues with PHP when using GD and large images
  • it’s slighty faster (note: depending on the filetype and image size GD beats IM in speed when it comes to resizing
  • Image Magick has support for more filetypes
  • as I showed before, it is very simple to use
    exec('convert "'.$sSourcePath.'" -resize '.$iWidth.'x"'.$sDestinationPath.'"');
  • Some very nice features like liquid scaling or seam carving

Disadvantages of using Image Magick:

  • you need to have full access to your server, it isn’t bundled with PHP
  • compiling IM can give some trouble, you shouldn’t forget to get the image libraries you want to use

Useful links

Comments

1,378 responses to “ImageMagick installing and exploring it, a good alternative for the GD library”

  1. Robertsoops Avatar
    Robertsoops

    https://massantibiotics.xyz/# bactrim without prescription

  2. RichardCreab Avatar
    RichardCreab

    Penn Ivermectin: PennIvermectin – Penn Ivermectin

  3. Uofmsipudge Avatar

    Av Tadalafil: Av Tadalafil – Av Tadalafil

  4. Philipjum Avatar
    Philipjum

    amoxicillin without prescription Over the counter antibiotics pills MassAntibiotics

  5. RichardCreab Avatar
    RichardCreab

    ivermectin paste tractor supply: PennIvermectin – how to use ivermectin paste for humans

  6. Philipjum Avatar
    Philipjum

    sildenafil tablets in india buy sildenafil 20 mg without prescription generic sildenafil citrate

  7. ArthurTah Avatar
    ArthurTah

    https://massantibiotics.xyz/# amoxicillin online without prescription

  8. Robertsoops Avatar
    Robertsoops
  9. RichardCreab Avatar
    RichardCreab

    Av Tadalafil: tadalafil capsules 20mg – buy tadalafil in usa

  10. Uofmsipudge Avatar

    Over the counter antibiotics pills: cheap antibiotic – buy zithromax online cheap

  11. Philipjum Avatar
    Philipjum

    stromectol how much it cost Penn Ivermectin ivermectin rx

  12. ArthurTah Avatar
    ArthurTah

    https://pennivermectin.com/# where can i buy stromectol

  13. Uofmsipudge Avatar

    UofmSildenafil: Uofm Sildenafil – Uofm Sildenafil

  14. RichardCreab Avatar
    RichardCreab

    Mass Antibiotics: Mass Antibiotics – buy antibiotics

  15. Philipjum Avatar
    Philipjum

    UofmSildenafil sildenafil generic discount UofmSildenafil

  16. DonaldImpaw Avatar
    DonaldImpaw

    http://darazplay.blog/# darazplay login

  17. DouglasVox Avatar
    DouglasVox

    DarazPlay updated entry link: DarazPlay ????????? ???? Bangladesh – DarazPlay Bangladesh ??????? ????

  18. JuliusRam Avatar
    JuliusRam

    https://darazplay.blog/# DarazPlay Bangladesh official link

  19. Fun88Daw Avatar

    nagad88 āϞāĻ—āχāύ āĻ•āϰ⧁āύ: Nagad88 āφāĻĒāĻĄā§‡āĻŸā§‡āĻĄ āĻĒā§āϰāĻŦ⧇āĻļ āĻ āĻŋāĻ•āĻžāύāĻž – nagad88 āϞāĻ—āχāύ āĻ•āϰ⧁āύ

  20. Bryanvat Avatar
    Bryanvat

    Dabet Vietnam liÃĒn káēŋt đang sáģ­ dáģĨng đưáģng dáēĢn vào Dabet hiáģ‡n táēĄi Dabet Vietnam liÃĒn káēŋt đang sáģ­ dáģĨng

  21. DonaldImpaw Avatar
    DonaldImpaw

    https://planbet.sbs/# PLANBET Bangladesh official link

  22. DouglasVox Avatar
    DouglasVox

    d?a ch? vao Fun88 m?i nh?t: trang tham chi?u Fun88 Vietnam – Fun88 Vietnam main access page

  23. Fun88Daw Avatar

    PLANBET working address for Bangladesh: PLANBET Bangladesh main access page – PLANBET latest entry link

  24. Bryanvat Avatar
    Bryanvat

    PLANBET Bangladesh main access page planbet PLANBET Bangladesh main access page

  25. DonaldImpaw Avatar
    DonaldImpaw

    https://darazplay.blog/# DarazPlay updated entry link

  26. DouglasVox Avatar
    DouglasVox

    PLANBET ???? ???? ???? ??????? ????: planbet login – PLANBET latest entry link

  27. Fun88Daw Avatar

    planbet: PLANBET latest entry link – PLANBET Bangladesh āĻ…āĻĢāĻŋāϏāĻŋ⧟āĻžāϞ āϞāĻŋāĻ‚āĻ•

  28. Bryanvat Avatar
    Bryanvat

    Fun88 Vietnam main access page Fun88 updated entry link Fun88 Vietnam main access page

  29. DonaldImpaw Avatar
    DonaldImpaw

    https://fun88.sale/# Fun88 working link for Vietnam

  30. DouglasVox Avatar
    DouglasVox

    nagad88: Nagad88 latest working link – Nagad88 Bangladesh main link

  31. Fun88Daw Avatar

    đáģ‹a cháģ‰ truy cáē­p Dabet máģ›i nháēĨt: dabet – dabet

  32. DonaldImpaw Avatar
    DonaldImpaw

    https://fun88.sale/# current Fun88 Vietnam URL

  33. Bryanvat Avatar
    Bryanvat

    Dabet main access URL link Dabet hoáēĄt đáģ™ng cho ngưáģi dÚng Viáģ‡t Nam Dabet Vietnam official entry

  34. DouglasVox Avatar
    DouglasVox

    updated PLANBET access link: planbet – PLANBET Bangladesh main access page

  35. Fun88Daw Avatar

    đáģ‹a cháģ‰ truy cáē­p Dabet máģ›i nháēĨt: link Dabet hoáēĄt đáģ™ng cho ngưáģi dÚng Viáģ‡t Nam – dabet

  36. DonaldImpaw Avatar
    DonaldImpaw

    https://planbet.sbs/# PLANBET āĻ āĻĸā§‹āĻ•āĻžāϰ āφāĻĒāĻĄā§‡āĻŸā§‡āĻĄ āϞāĻŋāĻ‚āĻ•

  37. Bryanvat Avatar
    Bryanvat

    PLANBET āĻŦāĻ°ā§āϤāĻŽāĻžāύ āĻĒā§āϰāĻŦ⧇āĻļ āĻ āĻŋāĻ•āĻžāύāĻž planbet PLANBET āϞāĻ—āχāύ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻŦāĻ°ā§āϤāĻŽāĻžāύ āϞāĻŋāĻ‚āĻ•

  38. DouglasVox Avatar
    DouglasVox

    d?a ch? vao Fun88 m?i nh?t: trang tham chi?u Fun88 Vietnam – Fun88 Vietnam main access page

  39. Fun88Daw Avatar

    DarazPlay āĻŦāĻ°ā§āϤāĻŽāĻžāύ āĻĒā§āϰāĻŦ⧇āĻļ āĻĒāĻĨ: darazplay – DarazPlay āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻžāϰ āĻŦāĻ°ā§āϤāĻŽāĻžāύ āĻ āĻŋāĻ•āĻžāύāĻž

  40. DonaldImpaw Avatar
    DonaldImpaw

    https://darazplay.blog/# DarazPlay Bangladesh āφāĻĒāĻĄā§‡āĻŸā§‡āĻĄ āϞāĻŋāĻ‚āĻ•

  41. Bryanvat Avatar
    Bryanvat

    DarazPlay latest access address DarazPlay āĻŦāĻ°ā§āϤāĻŽāĻžāύ āĻĒā§āϰāĻŦ⧇āĻļ āĻĒāĻĨ DarazPlay āĻŦāĻ°ā§āϤāĻŽāĻžāύ āĻĒā§āϰāĻŦ⧇āĻļ āĻĒāĻĨ

  42. Skapa personligt konto Avatar

    Thanks for sharing. I read many of your blog posts, cool, your blog is very good. https://www.binance.info/register?ref=IXBIAFVY

  43. DouglasVox Avatar
    DouglasVox

    current Nagad88 entry page: Nagad88 ??????? ?????? ?????? – nagad88 login

  44. Fun88Daw Avatar

    trang tham chiáēŋu Fun88 Vietnam: Fun88 updated entry link – current Fun88 Vietnam URL

Leave a Reply

Your email address will not be published. Required fields are marked *