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

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

  1. Patricklib Avatar
    Patricklib

    indian pharmacy https://uclametformin.xyz/# Ucla Metformin

  2. Charlescliny Avatar

    buy abortion pills: SocalAbortionPill – Socal Abortion Pill

  3. DouglasJag Avatar

    PMA Ivermectin: PMA Ivermectin – PMA Ivermectin

  4. Patricklib Avatar
    Patricklib

    best india pharmacy https://pmaivermectin.com/# PmaIvermectin

  5. Davidrulge Avatar

    metformin 500 mg tablet price in india Ucla Metformin metformin 590 mg

  6. Charlescliny Avatar

    PMA Ivermectin: PmaIvermectin – what is stromectol

  7. Patricklib Avatar
    Patricklib

    indian pharmacy paypal https://bswfinasteride.com/# BswFinasteride

  8. DouglasJag Avatar

    60000 mg metformin: metformin prescription online – UclaMetformin

  9. Charlescliny Avatar

    SocalAbortionPill: buy abortion pills – Socal Abortion Pill

  10. Patricklib Avatar
    Patricklib

    top online pharmacy india https://pmaivermectin.com/# ivermectin indications

  11. Davidrulge Avatar

    buy cytotec online buy misoprostol over the counter Socal Abortion Pill

  12. Patricklib Avatar
    Patricklib

    buy prescription drugs from india http://bswfinasteride.com/# propecia generics

  13. Charlescliny Avatar

    metformin 1000mg without prescription: UclaMetformin – cost of 1000mg metformin

  14. Patricklib Avatar
    Patricklib

    india pharmacy http://socalabortionpill.com/# buy cytotec online fast delivery

  15. DmuSaT Avatar

    Dmu Cialis: Buy Tadalafil 10mg – Dmu Cialis

  16. RamonJox Avatar
    RamonJox

    best canadian pharcharmy online Musc Pharm canadian pharmacy online no prescription needed

  17. CialisHaugh Avatar

    Dmu Cialis: Dmu Cialis – Dmu Cialis

  18. JoshuaMiz Avatar
    JoshuaMiz

    drug store online https://muscpharm.xyz/# Musc Pharm

  19. RamonJox Avatar
    RamonJox

    Kamagra Oral Jelly buy Kamagra NeoKamagra

  20. DmuSaT Avatar

    ed meds online without doctor prescription: cheap online pharmacy – Musc Pharm

  21. JoshuaMiz Avatar
    JoshuaMiz

    legitimate canadian internet pharmacies http://dmucialis.com/# DmuCialis

  22. CialisHaugh Avatar

    Musc Pharm: Musc Pharm – Musc Pharm

  23. RamonJox Avatar
    RamonJox

    canadian internet pharmacy Musc Pharm Musc Pharm

  24. JoshuaMiz Avatar
    JoshuaMiz

    legit canadian pharmacy https://neokamagra.com/# Neo Kamagra

  25. CialisHaugh Avatar

    DmuCialis: Dmu Cialis – DmuCialis

  26. DmuSaT Avatar

    DmuCialis: DmuCialis – DmuCialis

  27. JoshuaMiz Avatar
    JoshuaMiz

    price medication http://neokamagra.com/# sildenafil oral jelly 100mg kamagra

  28. RamonJox Avatar
    RamonJox

    Neo Kamagra Neo Kamagra Neo Kamagra

  29. CialisHaugh Avatar

    Cialis 20mg price in USA: Dmu Cialis – DmuCialis

  30. JoshuaMiz Avatar
    JoshuaMiz

    canadian discount online pharmacy https://neokamagra.xyz/# NeoKamagra

  31. RamonJox Avatar
    RamonJox

    Kamagra 100mg price NeoKamagra NeoKamagra

  32. JoshuaMiz Avatar
    JoshuaMiz

    trusted canadian pharmacy https://neokamagra.xyz/# Neo Kamagra

  33. RamonJox Avatar
    RamonJox

    DmuCialis DmuCialis DmuCialis

  34. CialisHaugh Avatar

    DmuCialis: DmuCialis – Dmu Cialis

  35. JoshuaMiz Avatar
    JoshuaMiz

    list of approved canadian pharmacies http://muscpharm.com/# discount drug store online shopping

  36. RamonJox Avatar
    RamonJox

    DmuCialis DmuCialis Cheap Cialis

  37. CialisHaugh Avatar

    cheap kamagra: NeoKamagra – Kamagra 100mg

  38. JoshuaMiz Avatar
    JoshuaMiz

    pharmacy canadian http://muscpharm.com/# Musc Pharm

  39. RamonJox Avatar
    RamonJox

    Dmu Cialis cialis for sale Cialis without a doctor prescription

  40. CialisHaugh Avatar

    MuscPharm: MuscPharm – canadian pharmacy online no prescription

  41. JoshuaMiz Avatar
    JoshuaMiz

    online prescription drugs https://muscpharm.com/# legitimate online pharmacy

  42. RamonJox Avatar
    RamonJox

    Dmu Cialis DmuCialis DmuCialis

Leave a Reply

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