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

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

  1. Davidles Avatar
    Davidles

    buy Viagra over the counter: Order Viagra 50 mg online – sildenafil over the counter

  2. Josephscalt Avatar
    Josephscalt

    cheapest viagra: buy Viagra online – buy Viagra online

  3. ThomasLax Avatar
    ThomasLax

    https://ivermectinaccessusa.com/# Ivermectin Access USA

  4. RandyStupt Avatar
    RandyStupt

    Ivermectin Access USA Ivermectin Access USA Ivermectin Access USA

  5. Jeremygraix Avatar
    Jeremygraix

    https://ivermectinaccessusa.shop/# Ivermectin Access USA

  6. Josephscalt Avatar
    Josephscalt

    Ivermectin Access USA: Ivermectin Access USA – ivermectin 8 mg

  7. ThomasLax Avatar
    ThomasLax

    https://sildenafilpriceguide.com/# sildenafil over the counter

  8. Davidles Avatar
    Davidles

    US Pharma Index: legit non prescription pharmacies – canadian pharmacy review

  9. Jeremygraix Avatar
    Jeremygraix

    http://ivermectinaccessusa.com/# ivermectin where to buy

  10. Josephscalt Avatar
    Josephscalt

    sildenafil online: Sildenafil Price Guide – Cheap generic Viagra online

  11. ThomasLax Avatar
    ThomasLax

    https://ivermectinaccessusa.com/# Ivermectin Access USA

  12. RandyStupt Avatar
    RandyStupt

    stromectol price in india Ivermectin Access USA Ivermectin Access USA

  13. Josephscalt Avatar
    Josephscalt

    Ivermectin Access USA: ivermectin over the counter – Ivermectin Access USA

  14. Jeremygraix Avatar
    Jeremygraix
  15. Davidles Avatar
    Davidles

    Viagra online price: Sildenafil Price Guide – sildenafil 50 mg price

  16. ThomasLax Avatar
    ThomasLax

    https://sildenafilpriceguide.com/# buy Viagra over the counter

  17. Josephscalt Avatar
    Josephscalt

    Viagra tablet online: Sildenafil Price Guide – viagra without prescription

  18. Jeremygraix Avatar
    Jeremygraix
  19. ThomasLax Avatar
    ThomasLax
  20. Davidles Avatar
    Davidles

    generic sildenafil: Sildenafil Price Guide – Viagra generic over the counter

  21. Josephscalt Avatar
    Josephscalt

    my canadian pharmacy: US Pharma Index – US Pharma Index

  22. Jeremygraix Avatar
    Jeremygraix
  23. RandyStupt Avatar
    RandyStupt

    Ivermectin Access USA ivermectin 80 mg Ivermectin Access USA

  24. ThomasLax Avatar
    ThomasLax

    https://sildenafilpriceguide.com/# best price for viagra 100mg

  25. Josephscalt Avatar
    Josephscalt

    certified canadian international pharmacy: US Pharma Index – cheap viagra canadian pharmacy

  26. Davidles Avatar
    Davidles

    sildenafil 50 mg price: Sildenafil Price Guide – Generic Viagra online

  27. ThomasLax Avatar
    ThomasLax

    https://uspharmaindex.shop/# non prescription medicine pharmacy

  28. AndrewMuh Avatar
    AndrewMuh

    Mens RX Index: Mens RX Index – Mens RX Index

  29. Henryaloth Avatar
    Henryaloth
  30. TylerShets Avatar
    TylerShets

    https://mensrxindex.com/# buy ed medication

  31. AndrewMuh Avatar
    AndrewMuh

    dog prescriptions online: pet med – online pet pharmacy

  32. Henryaloth Avatar
    Henryaloth

    https://certifiedcanadarx.com/# best online canadian pharmacy

  33. RobertFup Avatar
    RobertFup

    ed rx online where can i get ed pills where can i buy ed pills

  34. Williamchabe Avatar
    Williamchabe

    ed pills cheap: ed pills cheap – ed medicines online

  35. AndrewMuh Avatar
    AndrewMuh

    Certified Canada Rx: northwest canadian pharmacy – global pharmacy canada

  36. TylerShets Avatar
    TylerShets

    https://petmedsmonitor.com/# pet meds official website

  37. Henryaloth Avatar
    Henryaloth
  38. AndrewMuh Avatar
    AndrewMuh

    Mens RX Index: erectile dysfunction pills online – ed treatment online

  39. Williamchabe Avatar
    Williamchabe

    Mens RX Index: where can i get ed pills – Mens RX Index

  40. Henryaloth Avatar
    Henryaloth

    http://petmedsmonitor.com/# dog prescriptions online

  41. RobertFup Avatar
    RobertFup

    Certified Canada Rx canadian pharmacy oxycodone 77 canadian pharmacy

  42. AndrewMuh Avatar
    AndrewMuh

    pet meds for dogs: pet meds official website – dog prescriptions online

  43. Henryaloth Avatar
    Henryaloth
  44. TylerShets Avatar
    TylerShets

    https://certifiedcanadarx.shop/# canadian pharmacies online

  45. Williamchabe Avatar
    Williamchabe

    Certified Canada Rx: Certified Canada Rx – trusted canadian pharmacy

  46. AndrewMuh Avatar
    AndrewMuh

    canada pharmacy world: trustworthy canadian pharmacy – Certified Canada Rx

  47. Henryaloth Avatar
    Henryaloth

    http://petmedsmonitor.com/# pet pharmacy online

  48. TylerShets Avatar
    TylerShets

    https://petmedsmonitor.com/# pet meds official website

  49. AndrewMuh Avatar
    AndrewMuh

    cheap ed: Mens RX Index – Mens RX Index

Leave a Reply

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