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

  1. monjournal.space Avatar

    body building pills

    References:
    monjournal.space

  2. JamesMek Avatar
    JamesMek

    http://veritascarepharm.com/# Cialis 20mg price in USA

  3. JustinBrero Avatar
    JustinBrero

    cheap canadian pharmacy online: CivicMeds – no prescription required pharmacy

  4. LamarAwaiz Avatar
    LamarAwaiz

    drugstore com online pharmacy prescription drugs best online pharmacy reddit canadian pharmacy 24

  5. Timothyred Avatar
    Timothyred

    Generic Viagra for sale: CoreBlue Health – Viagra online price

  6. JustinBrero Avatar
    JustinBrero

    us online pharmacy: CivicMeds – hq pharmacy online 365

  7. LamarAwaiz Avatar
    LamarAwaiz

    online pharmacy europe CivicMeds rx pharmacy no prescription

  8. Timothyred Avatar
    Timothyred

    CoreBlue Health: Viagra online price – Cheap Viagra 100mg

  9. JustinBrero Avatar
    JustinBrero

    CoreBlue Health: CoreBlue Health – Viagra tablet online

  10. LamarAwaiz Avatar
    LamarAwaiz

    canada drugstore pharmacy rx CivicMeds canadian pharmacy no prescription needed

  11. JustinBrero Avatar
    JustinBrero

    CoreBlue Health: buy Viagra online – viagra without prescription

  12. LamarAwaiz Avatar
    LamarAwaiz

    CoreBlue Health Cheap Sildenafil 100mg sildenafil online

  13. DavidHoict Avatar
    DavidHoict

    http://civicmeds.com/# canadian pharmacy scam

  14. LamarAwaiz Avatar
    LamarAwaiz

    Generic Viagra online CoreBlue Health order viagra

  15. LamarAwaiz Avatar
    LamarAwaiz

    Buy Tadalafil 5mg cialis for sale Buy Tadalafil 10mg

  16. JamesMek Avatar
    JamesMek

    http://civicmeds.com/# online pharmacy 365 pills

  17. LamarAwaiz Avatar
    LamarAwaiz

    VeritasCare Cialis over the counter VeritasCare

  18. DavidHoict Avatar
    DavidHoict
  19. LamarAwaiz Avatar
    LamarAwaiz

    Cialis without a doctor prescription Cialis 20mg price VeritasCare

  20. LamarAwaiz Avatar
    LamarAwaiz

    sildenafil 50 mg price CoreBlue Health CoreBlue Health

  21. JamesMek Avatar
    JamesMek

    https://civicmeds.shop/# canada pharmacy

  22. LamarAwaiz Avatar
    LamarAwaiz

    cheap viagra CoreBlue Health CoreBlue Health

  23. DavidHoict Avatar
    DavidHoict

    http://civicmeds.com/# online pharmacy delivery delhi

  24. LamarAwaiz Avatar
    LamarAwaiz

    Tadalafil Tablet buy cialis pill VeritasCare

  25. LamarAwaiz Avatar
    LamarAwaiz

    order viagra sildenafil over the counter viagra without prescription

  26. DavidHoict Avatar
    DavidHoict
  27. LamarAwaiz Avatar
    LamarAwaiz

    legal online pharmacy safe online pharmacies in canada northwest canadian pharmacy

  28. JustinBrero Avatar
    JustinBrero

    med pharmacy: CivicMeds – online pharmacy viagra

  29. JamesMek Avatar
    JamesMek

    https://civicmeds.com/# viagra canadian pharmacy

  30. LamarAwaiz Avatar
    LamarAwaiz

    canada pharmacy online CivicMeds 24 hours pharmacy

  31. JustinBrero Avatar
    JustinBrero

    canadian pharmacy meds: CivicMeds – online canadian pharmacy review

  32. DavidHoict Avatar
    DavidHoict
  33. JustinBrero Avatar
    JustinBrero

    online pharmacy store: CivicMeds – cheapest pharmacy for prescriptions

  34. LamarAwaiz Avatar
    LamarAwaiz

    Generic Cialis without a doctor prescription VeritasCare VeritasCare

  35. JustinBrero Avatar
    JustinBrero

    VeritasCare: VeritasCare – VeritasCare

  36. LamarAwaiz Avatar
    LamarAwaiz

    bitcoin pharmacy online mexican pharmacy canadian pharmacy coupon code

  37. JustinBrero Avatar
    JustinBrero

    mail pharmacy: CivicMeds – online pharmacy birth control pills

  38. LamarAwaiz Avatar
    LamarAwaiz

    CoreBlue Health CoreBlue Health Cheap generic Viagra online

  39. JamesMek Avatar
    JamesMek
  40. DavidHoict Avatar
    DavidHoict
  41. Registrera dig Avatar

    Can you be more specific about the content of your article? After reading it, I still have some doubts. Hope you can help me. https://accounts.binance.info/register-person?ref=IHJUI7TF

  42. JustinBrero Avatar
    JustinBrero

    rate canadian pharmacies: italian pharmacy online – online pharmacy australia paypal

  43. LamarAwaiz Avatar
    LamarAwaiz

    Generic Cialis without a doctor prescription VeritasCare VeritasCare

  44. JustinBrero Avatar
    JustinBrero

    buy cialis pill: Buy Cialis online – VeritasCare

  45. LamarAwaiz Avatar
    LamarAwaiz

    CoreBlue Health CoreBlue Health CoreBlue Health

  46. DavidHoict Avatar
    DavidHoict

    http://civicmeds.com/# online pharmacy dubai

  47. JustinBrero Avatar
    JustinBrero

    generic sildenafil: cheapest viagra – Viagra online price

Leave a Reply

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