After installing Wordpress and using it for a little while I noticed that the built-in management of images was basic to say the least. That is, I missed certain features like resizing or cropping of images, which I typically have to apply to taken pictures before sharing them with friends or including them in an article.

Now, you could argue that I should use one of the many excellent and free image edititing programs out there, such as Paint.NET (which is an awesome piece of free software), before uploading images to Wordpress. This would have the added benefit that these programs typically allow you to not only resize and crop pictures but also support filtering, contrast enhancement, etc. These operations are necessary to get the best out of one’s pictures. Nevertheless, if you’re happy with the look of your pictures – my Canon PowerShot A590 IS usually makes gorgeous pictures – and you want to get out an article quickly, resizing/cropping is typically all you need to do.

Not having to rely on additional programs in that case has a few advantages:

  • No dependency on external image editing software: Take a picture on your iPhone, upload it to Wordpress, and resize/crop it using the online interface. Simple, efficient. And by not having to launch an extra application, and to load/save files manually on your harddisk, the workflow associated with posting a new article also becomes smoother and easier.
  • Editing of images in the Wordpress media library: Resizing/cropping images stored directly on the web eliminates the overhead of having to transfer them to the local computer and back online. It also maintains correct links to the image and its thumbnail in articles, which do not have to be updated to reflect changes to image URIs.

In this spirit I checked the Wordpress plugin repository to see if any of the available plugins would meet my needs: good integration with the Wordpress UI and good usability.

The first plugin I noticed is called “Flexible Upload“: It is quite powerful and supports automatic cropping and resizing at upload-time, custom thumbnail creation and embedding of watermarks. However, due to the fact that it is missing support for manual resizing/cropping it’s not useful in the use case I had in mind, which is retouching of images. Additionally it doesn’t integrate well with Wordpress because it changes the image upload dialog, which prohibits the use of the new flash uploader, and messes with WordPress’ generation of thumbnails and mini images.

WP Vivtiger Image Resizer” is pretty close to what I had in mind: It integrates AJAX-based image resizing and cropping functionality into Wordpress and seems to be easy to use. The downside is that it hasn’t been updated in a while and does not work with the latest version of Wordpress, which I’m using. Pity. Additionally it does not seem to support editing of images on the media management page.

Curiously enough, the only other plugin for this task I found was “ImageManager“, a complicated to use plugin with support for resizing/croping/rotating/etc. of images but fails to integrate nicely with the existing Wordpress media library. In fact, it does not integrate at all and rolls its own simple, directory-based file management system. No, thanks! Try again …

Frustrated I decided to stop looking for an existing plugin and read up on the steps necessary to create my own, which seemed easy enough given my previous experience with PHP. The programmer in me was looking forward to working on something new besides shading languages and software renderers anyway (NOTE: PHP is a horrible language, at least from my point of view. Strong type systems ftw!).

Just a few hours later I had a preliminary version of my “Scissors” plugin ready for use, which I have been using ever since for about a week now. It seems to work alright and so I’m glad to be able to make the first version available for others to use.

A short rundown on its feature set:

  • Augments Wordpress’ image upload and image management pages with AJAX-based cropping, resizing, rotating, and watermarking functionality in a naturally looking way (no major changes to existing dialogs).
  • Resizing keeps the aspect ratio and only requires you to specify which side of an image you wish to resize.
  • Cropping can be performed by selecting a rectangle just like in every image editing software. Additionally the aspect ratio of the selection rectangle can be locked to a manually supplied value, e.g. if you wish to maintain a 4:3 aspect ratio on pictures. It is furthermore possible to not only crop the full-resolution image and rebuild the chain of intermediate images (thumbnail, medium-sized image, etc.) but also to crop these individual images seperately.
  • Images that are resized in the post editor are automatically resampled to the requested resolution. Read more about it here.
City panorama shot with watermark

Guess the city! I moved there in March to work at the Realtime Technology AG as a software engineer. And yeah, that scissor was added using the new watermarking feature. :-)

  • After configuring and enabling watermarking, Scissors automatically adds the selected image to any newly uploaded images in the corner and with the size of your choice. Also, this new feature blends in just perfectly with the existing cropping, resizing, and rotating funcitonality of Scissors, i.e. the plugin makes sure that the watermark appears just as you wish on the image, you don’t have to pay any attention to it when you make your cropping selection (the watermark gets removed before any image manipulation and is re-added afterwards). Scissors also allows you to remove watermarks from any image manually or to add watermarks to older images in your media library.

As of October 30th, this plugin is listed in the official Wordpress Plugin Directory. Please head over there to download the plugin archive. Simply extract it, upload the “scissors” folder to your remote Wordpress plugins directory, and activate the plugin in the administration area. It requires PHP with the GD image manipulation library, which should be installed on most servers. WordPress versions 2.7 and newer are officially supported, although the plugin may well work with older versions of WordPress.

Acknowledgements:

And thanks to these fine people Scissors is available in languages other than English and German:

Comments are appreciated! If you wish to make a donation, buy some food for my cat. :-)

Scissors in action (old version 0.9):

Freunden weitererzählen:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Identi.ca
  • MySpace
  • Twitter
  • Yigg