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

  1. LinwoodTwirl Avatar
    LinwoodTwirl

    Sertraline USA: zoloft without dr prescription – zoloft generic

  2. TracyThics Avatar
    TracyThics

    https://sertralineusa.com/# zoloft without rx

  3. LinwoodTwirl Avatar
    LinwoodTwirl

    Neuro Relief USA: Neuro Relief USA – Neuro Relief USA

  4. LarryViofs Avatar
    LarryViofs

    Iver Therapeutics: Iver Therapeutics – Iver Therapeutics

  5. Leonarddeark Avatar
    Leonarddeark

    canada pharmacy online pharmacy legitimate canadian pharmacies

  6. TracyThics Avatar
    TracyThics
  7. LinwoodTwirl Avatar
    LinwoodTwirl

    sertraline generic: buy zoloft – zoloft no prescription

  8. LarryViofs Avatar
    LarryViofs

    Smart GenRx USA: pharmacy drugs – Smart GenRx USA

  9. TracyThics Avatar
    TracyThics
  10. GlennTix Avatar
    GlennTix

    https://neuroreliefusa.com/# cost of brand name neurontin

  11. LinwoodTwirl Avatar
    LinwoodTwirl

    zoloft no prescription: zoloft no prescription – zoloft without dr prescription

  12. TracyThics Avatar
    TracyThics
  13. LinwoodTwirl Avatar
    LinwoodTwirl

    Smart GenRx USA: Smart GenRx USA – Smart GenRx USA

  14. LarryViofs Avatar
    LarryViofs

    zoloft medication: sertraline zoloft – zoloft no prescription

  15. Leonarddeark Avatar
    Leonarddeark

    zoloft buy zoloft no prescription zoloft tablet

  16. TracyThics Avatar
    TracyThics
  17. LinwoodTwirl Avatar
    LinwoodTwirl

    zoloft without dr prescription: zoloft no prescription – zoloft pill

  18. LarryViofs Avatar
    LarryViofs

    canadian prescription pharmacy: canadian pharmacy online – reputable online pharmacy

  19. TracyThics Avatar
    TracyThics

    https://sertralineusa.com/# sertraline generic

  20. LinwoodTwirl Avatar
    LinwoodTwirl

    sertraline: zoloft pill – sertraline zoloft

  21. TracyThics Avatar
    TracyThics
  22. LinwoodTwirl Avatar
    LinwoodTwirl

    ivermectin oral solution: Iver Therapeutics – stromectol tablets uk

  23. Leonarddeark Avatar
    Leonarddeark

    Neuro Relief USA gabapentin 100mg Neuro Relief USA

  24. LarryViofs Avatar
    LarryViofs

    sertraline generic: zoloft cheap – zoloft pill

  25. TracyThics Avatar
    TracyThics
  26. LinwoodTwirl Avatar
    LinwoodTwirl

    stromectol ivermectin buy: ivermectin nz – Iver Therapeutics

  27. jobboard.piasd.org Avatar

    References:

    Deca stack cycle

    References:
    jobboard.piasd.org

  28. LinwoodTwirl Avatar
    LinwoodTwirl

    canadian pharmacy: pharmacies in canada that ship to the us – Smart GenRx USA

  29. LarryViofs Avatar
    LarryViofs

    Smart GenRx USA: canadian pharmacy – Smart GenRx USA

  30. TracyThics Avatar
    TracyThics

    http://neuroreliefusa.com/# neurontin over the counter

  31. LinwoodTwirl Avatar
    LinwoodTwirl

    Smart GenRx USA: Smart GenRx USA – usa pharmacy

  32. Leonarddeark Avatar
    Leonarddeark

    Iver Therapeutics Iver Therapeutics ivermectin 3 mg tabs

  33. LarryViofs Avatar
    LarryViofs

    canadian pharmacy: Smart GenRx USA – online pharmacy australia paypal

  34. TracyThics Avatar
    TracyThics

    https://neuroreliefusa.shop/# neurontin prescription cost

  35. LinwoodTwirl Avatar
    LinwoodTwirl

    generic zoloft: order zoloft – zoloft tablet

  36. apunto.it Avatar

    References:

    Best place to buy winstrol

    References:
    apunto.it

  37. LarryViofs Avatar
    LarryViofs

    zoloft without rx: zoloft buy – sertraline zoloft

  38. LinwoodTwirl Avatar
    LinwoodTwirl

    zoloft generic: generic for zoloft – zoloft generic

  39. TracyThics Avatar
    TracyThics

    https://smartgenrxusa.com/# no prescription required pharmacy

  40. Leonarddeark Avatar
    Leonarddeark

    ivermectin generic cream stromectol covid 19 stromectol 3mg

  41. LinwoodTwirl Avatar
    LinwoodTwirl

    medicine neurontin capsules: medicine neurontin capsules – neurontin brand name 800 mg

  42. LarryViofs Avatar
    LarryViofs

    zoloft without rx: zoloft medication – zoloft cheap

  43. TracyThics Avatar
    TracyThics
  44. LinwoodTwirl Avatar
    LinwoodTwirl

    Smart GenRx USA: tops pharmacy – buy drugs from canada

  45. fakenews.win Avatar

    References:

    Does deca burn fat

    References:
    fakenews.win

Leave a Reply

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