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

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

  1. Edgaraligh Avatar
    Edgaraligh

    antibiotics: antibiotics cheap – over the counter antibiotics

  2. PedroMorne Avatar
    PedroMorne

    https://stromectol.reviews/# stromectol order online

  3. EliasRaiff Avatar
    EliasRaiff

    over the counter antibiotics: antibiotics cheap – antibiotics for uti

  4. DanielAnank Avatar
    DanielAnank
  5. Edgaraligh Avatar
    Edgaraligh

    Over the counter antibiotics for infection: over the counter antibiotics – over the counter antibiotics

  6. PedroMorne Avatar
    PedroMorne

    https://stromectol.reviews/# stromectol reviews

  7. DavidBam Avatar
    DavidBam

    rybelsus icd 10 semaglutide life how to get semaglutide out of your system fast

  8. DanielAnank Avatar
    DanielAnank

    https://semaglutide.life/# semaglutide and breast cancer

  9. Edgaraligh Avatar
    Edgaraligh

    is semaglutide covered by medicaid: semaglutide life – online pharmacy no rx

  10. EliasRaiff Avatar
    EliasRaiff

    semaglutide shortage: semaglutide life – reliable online pharmacy

  11. DanielAnank Avatar
    DanielAnank

    https://stromectol.reviews/# stromectol reviews

  12. Edgaraligh Avatar
    Edgaraligh

    uti antibiotics online: get antibiotics without seeing a doctor – antibiotics cheap

  13. EliasRaiff Avatar
    EliasRaiff

    semaglutide cost at walmart: semaglutide life – safe online pharmacies

  14. PedroMorne Avatar
    PedroMorne

    https://stromectol.reviews/# stromectol reviews

  15. DanielAnank Avatar
    DanielAnank

    https://semaglutide.life/# patient assistance program for rybelsus

  16. DavidBam Avatar
    DavidBam

    over the counter antibiotics buy antibiotics from india antibiotics for uti over the counter

  17. Edgaraligh Avatar
    Edgaraligh

    stromectol generic name: stromectol reviews – stromectol reviews

  18. EliasRaiff Avatar
    EliasRaiff

    antibiotics cheap: over the counter antibiotics – over the counter antibiotics

  19. PedroMorne Avatar
    PedroMorne

    https://stromectol.reviews/# stromectol reviews

  20. DanielAnank Avatar
    DanielAnank

    https://stromectol.reviews/# stromectol tablet 3 mg

  21. Edgaraligh Avatar
    Edgaraligh

    stromectol price us: stromectol nz – stromectol reviews

  22. EliasRaiff Avatar
    EliasRaiff

    rybelsus 14 mg discontinued: why does semaglutide cause diarrhea – best mail order pharmacy

  23. DanielAnank Avatar
    DanielAnank

    https://stromectol.reviews/# ivermectin uk coronavirus

  24. DavidBam Avatar
    DavidBam

    buy doxycycline antibiotics п»їbuy antibiotics over the counter antibiotics

  25. Edgaraligh Avatar
    Edgaraligh

    semaglutide and headaches: semaglutide life – new pharmacy online

  26. EliasRaiff Avatar
    EliasRaiff

    is compounded semaglutide the same as ozempic: how to take rybelsus 3 mg – pharmacy online

  27. PedroMorne Avatar
    PedroMorne

    https://semaglutide.life/# rybelsus insulin

  28. DanielAnank Avatar
    DanielAnank

    https://semaglutide.life/# semaglutide prescription live forever lab

  29. Edgaraligh Avatar
    Edgaraligh

    over the counter antibiotics: otc medicine – Over the counter antibiotics for infection

  30. EliasRaiff Avatar
    EliasRaiff

    over the counter antibiotics: prescription antibiotic – antibiotics cheap

  31. DanielAnank Avatar
    DanielAnank
  32. PedroMorne Avatar
    PedroMorne
  33. Edgaraligh Avatar
    Edgaraligh

    a1c down with rybelsus: rybelsus 3 mg como se toma – international pharmacy

  34. DavidBam Avatar
    DavidBam

    over the counter antibiotics otc medicine over the counter antibiotics

  35. EliasRaiff Avatar
    EliasRaiff

    benefits of semaglutide: weight loss semaglutide – reputable online pharmacy no prescription

  36. DanielAnank Avatar
    DanielAnank

    https://stromectol.reviews/# stromectol reviews

  37. Edgaraligh Avatar
    Edgaraligh

    ivermectin tablets order: stromectol reviews – stromectol reviews

  38. EliasRaiff Avatar
    EliasRaiff

    stromectol reviews: stromectol reviews – stromectol reviews

  39. PedroMorne Avatar
    PedroMorne

    https://semaglutide.life/# rybelsus approval date

  40. DanielAnank Avatar
    DanielAnank

    https://antibiotics.cheap/# over the counter antibiotics

  41. Edgaraligh Avatar
    Edgaraligh

    stromectol reviews: buy ivermectin pills – stromectol reviews

  42. EliasRaiff Avatar
    EliasRaiff

    antibiotics cheap: otc uti medicine – online antibiotics

  43. DavidBam Avatar
    DavidBam

    stromectol reviews ivermectin price usa stromectol reviews

  44. DanielAnank Avatar
    DanielAnank

    https://antibiotics.cheap/# antibiotics cheap

  45. PedroMorne Avatar
    PedroMorne

    https://antibiotics.cheap/# best online doctor for antibiotics

  46. Edgaraligh Avatar
    Edgaraligh

    antibiotics cheap: over the counter antibiotics – over the counter antibiotics

  47. EliasRaiff Avatar
    EliasRaiff

    rybelsus drugs.com: semaglutide life – online drugs order

  48. DanielAnank Avatar
    DanielAnank

    https://stromectol.reviews/# stromectol reviews

Leave a Reply

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