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

  1. KevinBup Avatar
    KevinBup

    amoxicillin capsules online: amoxil fast – buy amoxil online usa

  2. BarryHus Avatar
    BarryHus

    prednisone 50 mg canada: buy prednisone online usa – prednisone 2.5 mg daily

  3. KeithDep Avatar
    KeithDep

    https://ivermectinfast.com/# buy stromectol online usa

  4. Rayfordpag Avatar
    Rayfordpag

    antiparasitic medication usa: antiparasitic medication usa – ivermectin stromectol

  5. Allendwems Avatar
    Allendwems

    http://stericarepharmacy.com/# 200 mg prednisone daily

  6. Rayfordpag Avatar
    Rayfordpag

    stromectol without prescription usa: ivermectin treatment tablets – Stromectol

  7. KeithDep Avatar
    KeithDep

    http://amoxilfast.com/# amoxil without prescription usa

  8. KevinBup Avatar
    KevinBup

    54 prednisone: prednisone for allergies and asthma – mail order prednisone

  9. Rayfordpag Avatar
    Rayfordpag

    trusted antibiotic pharmacy usa: amoxil without prescription usa – amoxil

  10. KeithDep Avatar
    KeithDep

    https://amoxilfast.com/# safe antibiotics online source

  11. AndrewHoozy Avatar
    AndrewHoozy

    canada rx pharmacy: canadian drug prices – canadian pharmacy 24 com

  12. Michaelves Avatar
    Michaelves

    best india pharmacy: buy prescription drugs from india – Global India Pharmacy

  13. Gabrielnes Avatar
    Gabrielnes

    https://pawtrustmeds.shop/# discount pet meds

  14. ArthurLap Avatar
    ArthurLap

    Global India Pharmacy: legitimate online pharmacies india – Global India Pharmacy

  15. AndrewHoozy Avatar
    AndrewHoozy

    Paw Trust Meds: Paw Trust Meds – Paw Trust Meds

  16. Michaelves Avatar
    Michaelves

    canadian neighbor pharmacy: NorthAccess Rx – ed meds online canada

  17. Gabrielnes Avatar
    Gabrielnes

    https://northaccessrx.shop/# canada drugs online reviews

  18. AndrewHoozy Avatar
    AndrewHoozy

    cheapest online pharmacy india: indian pharmacies safe – cheapest online pharmacy india

  19. WilliamSip Avatar
    WilliamSip

    https://northaccessrx.com/depression-treatments.html# reliable canadian pharmacy reviews

  20. Michaelves Avatar
    Michaelves

    Global India Pharmacy: Global India Pharmacy – best online pharmacy india

  21. Gabrielnes Avatar
    Gabrielnes

    https://globalindiapharmacy.shop/# Global India Pharmacy

  22. AndrewHoozy Avatar
    AndrewHoozy

    Global India Pharmacy: Global India Pharmacy – Global India Pharmacy

  23. Michaelves Avatar
    Michaelves

    canadian pharmacy phone number: canadian pharmacy online – canada drugs online reviews

  24. ArthurLap Avatar
    ArthurLap

    canada discount pharmacy: NorthAccess Rx – precription drugs from canada

  25. Gabrielnes Avatar
    Gabrielnes

    http://globalindiapharmacy.com/# Global India Pharmacy

  26. lamictal

    lamictal

  27. AndrewHoozy Avatar
    AndrewHoozy

    adderall canadian pharmacy: NorthAccess Rx – canadian 24 hour pharmacy

  28. stahlwandpools shop Avatar

    hi!,I love your writing so a lot! proportion we communicate extra about your article on AOL? I need a specialist in this house to solve my problem. May be that is you! Looking ahead to see you.

  29. Michaelves Avatar
    Michaelves

    northwest pharmacy canada: canada cloud pharmacy – canada rx pharmacy world

  30. AndrewHoozy Avatar
    AndrewHoozy

    Paw Trust Meds: online vet pharmacy – pet prescriptions online

  31. ArthurLap Avatar
    ArthurLap

    Global India Pharmacy: indian pharmacy online – Global India Pharmacy

  32. Michaelves Avatar
    Michaelves

    my canadian pharmacy reviews: vipps canadian pharmacy – canadian pharmacy tampa

  33. Gabrielnes Avatar
    Gabrielnes
  34. AndrewHoozy Avatar
    AndrewHoozy

    Paw Trust Meds: vet pharmacy online – pet meds official website

  35. Michaelves Avatar
    Michaelves

    online shopping pharmacy india: Global India Pharmacy – world pharmacy india

  36. WilliamSip Avatar
    WilliamSip
  37. AndrewHoozy Avatar
    AndrewHoozy

    Global India Pharmacy: online pharmacy india – india pharmacy mail order

  38. Gabrielnes Avatar
    Gabrielnes

    https://pawtrustmeds.shop/# pet meds for dogs

  39. ArthurLap Avatar
    ArthurLap

    reputable indian pharmacies: legitimate online pharmacies india – Global India Pharmacy

  40. Michaelves Avatar
    Michaelves

    canadian pharmacy: canadadrugpharmacy com – canadian pharmacy mall

  41. AndrewHoozy Avatar
    AndrewHoozy

    Paw Trust Meds: Paw Trust Meds – Paw Trust Meds

  42. Gabrielnes Avatar
    Gabrielnes

    http://pawtrustmeds.com/# pet drugs online

  43. Michaelves Avatar
    Michaelves

    indian pharmacy paypal: Global India Pharmacy – Global India Pharmacy

  44. ArthurLap Avatar
    ArthurLap

    canadian pharmacy mall: canadian discount pharmacy – online canadian pharmacy reviews

  45. AndrewHoozy Avatar
    AndrewHoozy

    pharmacy rx world canada: canadian pharmacies that deliver to the us – canada pharmacy online

  46. WilliamSip Avatar
    WilliamSip

    https://globalindiapharmacy.shop/# Global India Pharmacy

Leave a Reply

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