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

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

  1. Richardhor Avatar
    Richardhor

    discount pet meds: pet pharmacy USA – HappyPaws Pharmacy

  2. GregorySpoib Avatar
    GregorySpoib
  3. PatrickMoilm Avatar
    PatrickMoilm

    cheapest pharmacy: Viagra online price – rate canadian pharmacies

  4. ElmerCix Avatar
    ElmerCix

    http://truehealthpharm.com/# True Health Pharm

  5. Richardhor Avatar
    Richardhor

    northwestpharmacy: VitalCore Pharmacy – indian pharmacies safe

  6. AnthonyUsedy Avatar
    AnthonyUsedy

    True Health Pharm top rated ed pills discount ed pills

  7. PatrickMoilm Avatar
    PatrickMoilm

    pharmacy delivery: VitalCore Pharmacy – medical pharmacy west

  8. Richardhor Avatar
    Richardhor

    online pharmacy delivery delhi: Order Viagra 50 mg online – canadian pharmacy no scripts

  9. ElmerCix Avatar
    ElmerCix

    https://vitalcorepharmacy.com/# professional pharmacy

  10. PatrickMoilm Avatar
    PatrickMoilm

    ed online prescription: ed meds by mail – True Health Pharm

  11. AnthonyUsedy Avatar
    AnthonyUsedy

    canadian pharmacy india VitalCore Pharmacy canadian pharmacy price checker

  12. GregorySpoib Avatar
    GregorySpoib

    https://vitalcorepharmacy.shop/# canadian pharmacy 1 internet online drugstore

  13. Richardhor Avatar
    Richardhor

    True Health Pharm: True Health Pharm – discount ed pills

  14. ElmerCix Avatar
    ElmerCix

    https://truehealthpharm.shop/# buy erectile dysfunction pills

  15. Richardhor Avatar
    Richardhor

    canadian pharmacy viagra 50 mg: VitalCore Pharmacy – canadian pharmacy near me

  16. http://43.136.59.253 Avatar

    References:

    Which of the following is a correct description of an anabolic pathway?

    References:
    http://global.gwangju.ac.kr/bbs/board.php?bo_table=g0101&wr_id=2119976

  17. 61.178.84.89 Avatar

    References:

    The best muscle building pills

    References:
    http://demo.sunflowermachinery.com/karolynhermann

  18. AnthonyUsedy Avatar
    AnthonyUsedy

    vet pharmacy online vet pharmacy pet pharmacy USA

  19. 101.37.147.115 Avatar

    References:

    What are the best steroids to take

    References:
    https://music.michaelmknight.com/tanyabunbury92

  20. http://git.yanei-iot.com/ Avatar

    References:

    Testosterone enanthate 250

    References:
    https://dreamplacesai.de/lavoncorrea05

  21. PatrickMoilm Avatar
    PatrickMoilm

    True Health Pharm: True Health Pharm – True Health Pharm

  22. Richardhor Avatar
    Richardhor

    usa pharmacy: over the counter sildenafil – discount pharmacy mexico

  23. ElmerCix Avatar
    ElmerCix

    https://vitalcorepharmacy.shop/# 24 hour pharmacy near me

  24. GregorySpoib Avatar
    GregorySpoib

    https://vitalcorepharmacy.shop/# best online pharmacy for viagra

  25. PatrickMoilm Avatar
    PatrickMoilm

    True Health Pharm: what is the cheapest ed medication – ed meds cheap

  26. Richardhor Avatar
    Richardhor

    canada drugs online: sildenafil over the counter – best canadian online pharmacy reviews

  27. AnthonyUsedy Avatar
    AnthonyUsedy

    pet antibiotics and care dog and cat medicine supply dog and cat medicine supply

  28. ElmerCix Avatar
    ElmerCix

    https://vitalcorepharmacy.com/# modafinil online pharmacy

  29. PatrickMoilm Avatar
    PatrickMoilm

    online pharmacy pain: Viagra without a doctor prescription Canada – cheapest pharmacy to fill prescriptions with insurance

  30. Richardhor Avatar
    Richardhor

    where to get ed pills: ed meds cheap – True Health Pharm

  31. AnthonyTap Avatar
    AnthonyTap
  32. Brianbeate Avatar
    Brianbeate
  33. Patrickvew Avatar
    Patrickvew

    MedicoBridge RX: MedicoBridge RX – progreso, mexico pharmacy online

  34. ThomasRUM Avatar
    ThomasRUM

    world pharmacy india: india pharmacy – indianpharmacy com

  35. Darrenplors Avatar
    Darrenplors

    buy medicines online in india TrustRx India india pharmacy mail order

  36. Patrickvew Avatar
    Patrickvew

    MedicoBridge RX: mexican pharmacies – MedicoBridge RX

  37. ThomasRUM Avatar
    ThomasRUM

    mail order pharmacy india: TrustRx India – online pharmacy india

  38. Brianbeate Avatar
    Brianbeate
  39. ThomasRUM Avatar
    ThomasRUM

    pharmacy mexico: MedicoBridge RX – mexican pharmacies

Leave a Reply

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