ImageMagick Engine

Description

Dramatically improve the quality of re-sized images by making WordPress use ImageMagick instead of standard GD image library.

Features

  • Preserve embedded color profile in re-sized image
  • Automatically recognize custom image sizes
  • Allow regeneration of existing images (optionally for selected image sizes only)
  • Configure image quality or use dynamically computed default value
  • Optimize different image sizes for either quality or size

Lnguages: English, French, German, Swedish, Turkish

Requires either ImageMagick binary or Imagick PHP module.

Contribute

Code repo available on https://github.com/orangelabweb/imagemagick-engine/

Screenshots

  • Administration interface

Installation

  1. Install either ImageMagick or the Imagick PHP module (see FAQ for more information).
  2. Download and extract plugin files to a folder in your wp-content/plugin directory.
  3. Activate the plugin through the WordPress admin interface.
  4. Configure ImageMagick settings and enable it on plugin settings page.
  5. Regenerate existing images to take advantage of the new features.

If you have any questions or problems please make write in the support forum.

FAQ

What difference does it make?

ImageMagick can result in huge improvements in the quality of re-sized images.

Take a look at the supplied screenshot, or try it yourself.

Note that the new images tend to be slightly larger than those of the standard GD library, especially if you specify a very high image quality (95+).

How do I know if I have ImageMagick installed?

If you have the PHP module installed the plugin will find it. You can check yourself using the phpinfo() function. We also automatically check a common location for the ImageMagick executable.

If you have shell access to a Linux/UNIX server you can use “which convert” to look for the ImageMagick executable.

How do I install ImageMagick?

You’ll need full access to your server and a bit of technical know-how. If you do not have access you’ll have to ask the server administrator.

Don’t do it yourself unless you know what you are doing.

Most Linux distributions have a package for “ImageMagick”. Some have a package for “php5-imagick”. It is possible to install the PHP module using PEAR.

You can also find binary releases at http://www.imagemagick.org including a Windows installer.

I get a fatal error when activating plugin

Some webhosts (1and1 for example) need to add a work-around to the .htaccess file.

You might have to add the following line to your .htaccess file:
AddType x-mapp-php5 .php

You’ll probably have problems with various other plugins too unless you fix this.

Reviews

June 23, 2022
Be careful if you're using a Plugin like Real Media. The ImageMagick Engine does not respect the Directory structure the Real Media Plugin creates. This issue most likely does not affect many people, so it's just a cautionary note to watch out for and not a complaint about the ImageMagick Engine Plugin. Although it would be a nice addition to this plugin as a cool refinement. Also on the subject of PNGs, the compression is not optimal. Again, not the fault of this plugin, but the underlying ImageMagick binary or PHP implementation. Here's the quick data - Original Image 353 KB (3599 x 937), ImageMagick Engine 123 KB (768 x 200), Standard WordPress 117 KB (768 x 200), Corel Product 33 KB (768 x 200). And no, the above is not a mistake or typo when noting the size of the ImageMagick VS Standard Wordpress. And yes, the compression setting could be adjusted in the ImageMagick Engine configuration, but the above reflects the default of 70 (percent). Corel did an outstanding job given the image ended up a quarter of the size of IME or SWP. And zooming and inspecting the image on a 4K monitor showed no discernible difference. So sadly, doing it manually with Corel (or possibly other products) is the way for us to go right now. But still, this is a good plugin and this review is not intended to be derogatory or mean. But there are some refinements and improvements to made with it. Thanks for making the plugin.
October 3, 2021 2 replies
The thumbnail regeneration could be a bit faster though. I have used it for longer than I can remember, at least 5 years.
October 14, 2020
This is the first review i have ever left for any plugin. this is the best free plugin ever it increases quality in uploaded graphics for wordpress. it recognises the changes in php files i am in love with this plugin. thank you thank you
September 6, 2020
Maybe even better. It uses ImageMagick Engine that is installed and allows me to easily regenerate all my images.
January 17, 2020
As a 20 year Linux server administrator, top rated coder on Upwork, and WordPress plugin developer, I am shocked that this plugin does not have at least 1,000,000 installs! Let me explain, if you wish to optimize your images, there are a handful of plugins that can do this for you, however, all of them, except this one, require setting up an API, or some other special remote access if by chance the web server does not have optional PHP programs enabled. The optional PHP program is usually PHP exec. In most cases, web hosts never enable these optional PHP programs because they pose a tremendous security risk. ImageMagick Engine bypasses all of this and uses the built in PHP ImageMagick processing. No monthly fees, no extra configurations, and nearly guaranteed to work on any web host because it's a PHP program that most, if not all web hosts, load by default. Brilliant! Get this one. It's stupid easy to use, and can regenerate all your WP images in just a few minutes.
Read all 14 reviews

Contributors & Developers

“ImageMagick Engine” is open source software. The following people have contributed to this plugin.

Contributors

“ImageMagick Engine” has been translated into 7 locales. Thank you to the translators for their contributions.

Translate “ImageMagick Engine” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.7.8

  • Bugfix

1.7.7

  • Prevent remote code execution vulnerabilities
  • Fix fatal error when “exec” is not allowed by server

1.7.6

  • Fix plugin vulnerabilities and added nonce checks

1.7.4

  • Important bugfix

1.7.3

  • Improve check that image file exists on server
  • Fix check of executable path
  • Tested compability with WordPress 6.0

1.7.2

  • Fixed bug when no image editor available

1.7.1

  • Use WP_Image_Editor class to generate filename
  • Tested compability with WordPress 5.8.1

1.7.0

  • Add option to resize images interlaced
  • Fix: Don’t attempt to regenerate SVG’s.
  • Handle scaled images with wp_get_original_image_path
  • Bugfix cli executable respnsonse
  • Tested compability with WordPress 5.8

1.6.5

  • Turkish translation thanks to Haydar ŞAHİN
  • Bugfix
  • Tested compability with WordPress 5.5

1.6.4

  • Critical bugfix for .jpeg files

1.6.3

  • Clean up code and constant for version (thanks @paulschreiber)
  • Disable warning for is_executable if open_basedir active

1.6.2

  • Added medium_large image size by default
  • Display version of ImageMagick CLI (thanks @marcissimus)

1.6.1

  • Fixed deprecated use of gd_edit_image_support (thanks @chesio)

1.6.0

  • Small bug fixes
  • Small updates to admin UI

1.5.4

  • Fixed a bug that could cause transparency errors with PNG

1.5.3

  • Tested with WP 5.0

1.5.2

  • Tested with WP 4.1

1.5.1

  • Tested with WP 3.6
  • Fix CSS problems with other users of jQuery dialogs

1.5.0

  • Tested with WP 3.5-beta2
  • Allow choosing between optimize for quality & size for each image size
  • Fix resize UI bug in media pop-up and new attachment editor (post.php)
  • Add “ime_after_resize” action after resize
  • Catch Imagick exceptions
  • Modified code now uses more of WP standard coding style
  • Updated French translation, thanks to Damien Fabreguettes
  • Updated Swedish translation for new strings

1.4.0

  • Tested with WP 3.3.1
  • Resize / Force resize button in media library
  • Add more precision to resize % when large nr of images
  • More sanity tests in ajax resize code
  • Use WordPress version of jQuery UI progressbar if available
  • Split plugin init into early and late part
  • Fix PHP notice (in initial plugin configuration)
  • Updated swedish translation for new strings
  • French translation thanks to Damien Fabreguettes

1.3.1

  • Tested with WP 3.2.1
  • Bugfix: escape ‘^’ character on Windows (thanks to alx359)
  • clean up IM command line argument handling a bit

1.3.0

  • Tested agains WP 3.2
  • Fix JS to be compatible with jQuery 1.6
  • Remove some PHP notices
  • Change command line limit values to specifik byte amounts (instead of “mb”) for compatability with really old IM versions
  • Handle open_basename restrictions better
  • Handle older versions (pre 6.3.1) of PHP Imagick class
  • IM and WordPress compute aspect ratio slightly differently, force the WP values

1.2.3

  • Fix bug in resize all images handling, also remove some PHP notices. Thanks to Andreas Kleinschmidt for the report
  • Upgrade jQuery UI Progressbar to version 1.8.9, to match version of UI Core in WordPress

1.2.2

  • Fixed filepath with spaces on Windows
  • Tested with WordPress 3.1.2
  • Added question to FAQ

1.2.1

  • Fix deprecated warning
  • Tested with WordPress 3.1

1.2.0

  • Rewrite image cropping for Imagick PHP module to make sure we keep image profiles. Thanks to Christian Münch for report
  • Improve test for IM executable
  • Administration: AJAXify image resizing, clarify engine selection, only load css/js on actual plugin page
  • Handle progressbar version incompatability for jQuery UI 1.8 (in WP 3.1) and jQuery UI 1.7 (in WP 3.0)
  • Tested with WordPress 3.1-RC2

1.1.2

  • Fix bug with forced resize of custom image sizes
  • Fix warning with open_basedir restriction during path test
  • German translation thanks to Dirk Rottig

1.1.1

  • Fix search-and-replace error from 1.1 that made it impossible to change settings! Thanks to Marco M. Jaeger for report!

1.1

  • Working localization
  • Added Swedish translation

1.0

  • Initial release