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,382 responses to “ImageMagick installing and exploring it, a good alternative for the GD library”

  1. CialisHaugh Avatar

    Neo Kamagra: cheap kamagra – NeoKamagra

  2. JoshuaMiz Avatar
    JoshuaMiz

    canadian pharmacies mail order https://dmucialis.com/# Cialis 20mg price

  3. RamonJox Avatar
    RamonJox

    Dmu Cialis DmuCialis Buy Tadalafil 5mg

  4. CialisHaugh Avatar

    Neo Kamagra: NeoKamagra – NeoKamagra

  5. JoshuaMiz Avatar
    JoshuaMiz

    pharmacies not requiring a prescription https://muscpharm.com/# top canadian online pharmacy

  6. RamonJox Avatar
    RamonJox

    NeoKamagra buy kamagra online usa NeoKamagra

  7. CialisHaugh Avatar

    Cheap Cialis: Tadalafil price – DmuCialis

  8. JoshuaMiz Avatar
    JoshuaMiz

    bestpharmacyonline.com https://muscpharm.xyz/# Musc Pharm

  9. "oppna binance-konto Avatar

    I don’t think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article. https://www.binance.info/da-DK/register?ref=V3MG69RO

  10. CialisHaugh Avatar

    Neo Kamagra: NeoKamagra – Kamagra 100mg price

  11. JoshuaMiz Avatar
    JoshuaMiz

    reputable canadian pharmacy online http://neokamagra.com/# Neo Kamagra

  12. DmuSaT Avatar

    cheap kamagra: Neo Kamagra – NeoKamagra

  13. JoshuaMiz Avatar
    JoshuaMiz

    medications with no prescription https://muscpharm.xyz/# best pharmacy prices

  14. DmuSaT Avatar

    MuscPharm: compare prescription prices – no prescription pharmacies

  15. JoshuaMiz Avatar
    JoshuaMiz

    best canadian online pharmacy https://muscpharm.com/# canadian pharmaceuticals online safe

  16. CialisHaugh Avatar

    Buy Cialis online: DmuCialis – Cialis without a doctor prescription

  17. Williamopete Avatar
    Williamopete

    ed meds on line EdPillsAfib Ed Pills Afib

  18. DanielLox Avatar

    Sildenafil Citrate Tablets 100mg: Viagra Tablet price – Buy Viagra online cheap

  19. SteveMar Avatar
    SteveMar

    prescriptions online https://viagranewark.com/# Cheap Sildenafil 100mg

  20. JamesHow Avatar

    EdPillsAfib: ed medicines online – EdPillsAfib

  21. Williamopete Avatar
    Williamopete

    legal online pharmacy CorPharmacy usa pharmacy online

  22. SteveMar Avatar
    SteveMar

    canada pharmacies online http://corpharmacy.com/# Cor Pharmacy

  23. JamesHow Avatar

    ViagraNewark: viagra without prescription – ViagraNewark

  24. DanielLox Avatar

    CorPharmacy: CorPharmacy – canadian pharmacy viagra reviews

  25. Williamopete Avatar
    Williamopete

    ViagraNewark Viagra Newark Viagra Newark

  26. SteveMar Avatar
    SteveMar

    universal canadian pharmacy https://viagranewark.xyz/# Viagra Newark

  27. JamesHow Avatar

    buy ed meds online: EdPillsAfib – EdPillsAfib

  28. Williamopete Avatar
    Williamopete

    Ed Pills Afib ed prescription online EdPillsAfib

  29. SteveMar Avatar
    SteveMar

    prescription online http://viagranewark.com/# ViagraNewark

  30. JamesHow Avatar

    Cor Pharmacy: Cor Pharmacy – Cor Pharmacy

  31. DanielLox Avatar

    Ed Pills Afib: Ed Pills Afib – buy ed meds

  32. Williamopete Avatar
    Williamopete

    canadian online pharmacy cialis canada drugs reviews CorPharmacy

  33. SteveMar Avatar
    SteveMar

    reliable canadian pharmacy http://edpillsafib.com/# EdPillsAfib

  34. JamesHow Avatar

    24 hours pharmacy: Cor Pharmacy – Cor Pharmacy

  35. DanielLox Avatar

    online pharmacy reddit: CorPharmacy – top online pharmacy

  36. Williamopete Avatar
    Williamopete

    ViagraNewark ViagraNewark ViagraNewark

  37. SteveMar Avatar
    SteveMar

    canadian drugs pharmacy https://viagranewark.xyz/# buy Viagra over the counter

  38. JamesHow Avatar

    Cheapest Sildenafil online: Viagra Newark – Cheap generic Viagra

  39. DanielLox Avatar

    ViagraNewark: Viagra Newark – ViagraNewark

  40. Williamopete Avatar
    Williamopete

    online ed drugs Ed Pills Afib online erectile dysfunction pills

Leave a Reply

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