JS and PHP or Yii photo manipulation libraries

I was faced with a problem of picking a good photo manipulation library. Either client-side or server-side. Both for working with my newest Yii project. This article is a summary of my quick research in this field.

All JavaScript libraries works on Canvas, so require HTML5 and Canvas-enabled browsers. Most modern browsers supports both of them in newest versions.

The only PHP image manipulation library works mostly on uploaded image.

Pixastic

Fully featured JS photo manipulation library, even with cool looking editor to demonstrate its power. Some minor lacks (like poor zooming and no panning), but even though — seems to be the best among described here.

For people looking for Photoshop-in-webbrowser it lacks many features, like adding text to image. Free for all purposes (MIT Licensee).

psx-image-processing-library

Library with many interesting image filters and transformations, but work einterily on full image. No selection, cropping etc. tools.

Caman.js

Similar to above, comes only with full image manipulation. This lib at its base provides developer with manipulation of basic photo parameters (like brightnes, hue, saturation etc.) instead of filters (like above). But it comes with a handy set of presets, which can mimic most important filters by mixing preselected values of above mentioned photo params.

It also comes with good documentation and easy to extend plugin system.

class.upload.php

Works mostly on uploaded images and provides really impressive number of filters, effects and transformations that can be applied to any image.

Since this is PHP / server-side library, it provides only direct modifications, without frontend editing techniques. Therefore can only be used for own, handcrafted frontend editor, that will call proper filter or effect via AJAX. For manipulating on large images, this could be unacceptable long process.

On the other hand, provides many tools for adding watermarks or texts to the image — a feature which is missing in all described Javascript libraries.

Leave a Reply