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

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

  1. Patrickvew Avatar
    Patrickvew

    online pharmacy india: TrustRx India – cheapest online pharmacy india

  2. AnthonyTap Avatar
    AnthonyTap

    https://trustrxindia.com/# Online medicine order

  3. Brianbeate Avatar
    Brianbeate
  4. Darrenplors Avatar
    Darrenplors

    tijuana pharmacy online MedicoBridge RX best pharmacy in mexico

  5. ThomasRUM Avatar
    ThomasRUM

    mexican pharmacies that ship to the united states: MedicoBridge RX – MedicoBridge RX

  6. Patrickvew Avatar
    Patrickvew

    farmacia pharmacy mexico: MedicoBridge RX – MedicoBridge RX

  7. ThomasRUM Avatar
    ThomasRUM

    mail order pharmacy india: top 10 pharmacies in india – best online pharmacy india

  8. Brianbeate Avatar
    Brianbeate

    https://medbridgepharmacy.com/# online pharmacy com

  9. Patrickvew Avatar
    Patrickvew

    MedBridge Pharmacy: legit canadian pharmacy – MedBridge Pharmacy

  10. Darrenplors Avatar
    Darrenplors

    best india pharmacy best india pharmacy india online pharmacy

  11. AnthonyTap Avatar
    AnthonyTap

    https://medbridgepharmacy.shop/# canadian pharmacy cialis reviews

  12. ThomasRUM Avatar
    ThomasRUM

    п»їlegitimate online pharmacies india: TrustRx India – india online pharmacy

  13. Patrickvew Avatar
    Patrickvew

    mail pharmacy: canada pharmacy online legit – MedBridge Pharmacy

  14. Brianbeate Avatar
    Brianbeate
  15. ThomasRUM Avatar
    ThomasRUM

    MedicoBridge RX: MedicoBridge RX – MedicoBridge RX

  16. Darrenplors Avatar
    Darrenplors
  17. Patrickvew Avatar
    Patrickvew

    MedicoBridge RX: pharmacy in mexico online – online mexico pharmacy

  18. ThomasRUM Avatar
    ThomasRUM

    buy prescription drugs from india: pharmacy website india – indian pharmacy paypal

  19. AnthonyTap Avatar
    AnthonyTap

    https://trustrxindia.com/# reputable indian online pharmacy

  20. Patrickvew Avatar
    Patrickvew

    india online pharmacy: mail order pharmacy india – best india pharmacy

  21. Darrenplors Avatar
    Darrenplors

    online pharmacy india indian pharmacy world pharmacy india

  22. ThomasRUM Avatar
    ThomasRUM

    legitimate canadian online pharmacies: online pharmacy delivery – MedBridge Pharmacy

  23. Patrickvew Avatar
    Patrickvew

    farmacias online usa: MedicoBridge RX – farmacia pharmacy mexico

  24. ThomasRUM Avatar
    ThomasRUM

    online pharmacy in mexico: MedicoBridge RX – online pharmacies in mexico

  25. Darrenplors Avatar
    Darrenplors

    legit mexican pharmacy MedBridge Pharmacy best value pharmacy

  26. Patrickvew Avatar
    Patrickvew

    top online pharmacy india: MedBridge Pharmacy – MedBridge Pharmacy

  27. ThomasRUM Avatar
    ThomasRUM

    mexican pharmacy online: mexican pharmacy online – MedicoBridge RX

  28. AnthonyTap Avatar
    AnthonyTap

    http://trustrxindia.com/# indian pharmacy paypal

  29. Brianbeate Avatar
    Brianbeate

    https://medbridgepharmacy.com/# online pharmacy australia

  30. Patrickvew Avatar
    Patrickvew

    mexican pharmacy prices: pharmacies in mexico – MedicoBridge RX

  31. ThomasRUM Avatar
    ThomasRUM

    Online medicine home delivery: indian pharmacies safe – online shopping pharmacy india

  32. Patrickvew Avatar
    Patrickvew

    india pharmacy mail order: best india pharmacy – Online medicine order

  33. ThomasRUM Avatar
    ThomasRUM

    best canadian pharmacy online: order pharmacy online egypt – MedBridge Pharmacy

  34. Patrickvew Avatar
    Patrickvew

    world pharmacy india: TrustRx India – mail order pharmacy india

  35. ThomasRUM Avatar
    ThomasRUM

    best online pharmacy india: TrustRx India – Online medicine home delivery

  36. AnthonyTap Avatar
    AnthonyTap

    http://trustrxindia.com/# top 10 pharmacies in india

  37. Patrickvew Avatar
    Patrickvew

    MedicoBridge RX: MedicoBridge RX – progreso mexico pharmacy online

  38. ThomasRUM Avatar
    ThomasRUM

    world pharmacy india: TrustRx India – reputable indian online pharmacy

  39. Patrickvew Avatar
    Patrickvew

    india pharmacy: TrustRx India – indian pharmacies safe

  40. ThomasRUM Avatar
    ThomasRUM

    MedBridge Pharmacy: best canadian online pharmacy reviews – MedBridge Pharmacy

  41. Patrickvew Avatar
    Patrickvew

    indian pharmacies safe: top 10 online pharmacy in india – п»їlegitimate online pharmacies india

  42. ThomasRUM Avatar
    ThomasRUM

    MedBridge Pharmacy: MedBridge Pharmacy – foreign pharmacy online

  43. AnthonyTap Avatar
    AnthonyTap

    http://trustrxindia.com/# indian pharmacy online

  44. Patrickvew Avatar
    Patrickvew

    medication in mexico: MedicoBridge RX – phentermine in mexico pharmacy

  45. ThomasRUM Avatar
    ThomasRUM

    mexican pharmacy weight loss: canadian pharmacy world – medical pharmacy south

  46. Arthurtat Avatar
    Arthurtat

    Sildenafil Citrate Tablets 100mg: Cheapest Sildenafil online – Cheap Viagra 100mg

  47. Hectorswate Avatar
    Hectorswate

    NovaMen Pharmacy: viagra canada – order viagra

  48. Edwardagide Avatar
    Edwardagide

    https://novamenpharmacy.shop/# Cheap Viagra 100mg

  49. Hectorswate Avatar
    Hectorswate

    Viagra online price: Viagra without a doctor prescription Canada – NovaMen Pharmacy

  50. Arthurtat Avatar
    Arthurtat

    Buy Tadalafil 5mg: Buy Tadalafil 10mg – Cialis without a doctor prescription

Leave a Reply

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