PaintbrushJS by Dave Shea,
released under the MIT License, is a browser-based image processing
library. It creates a canvas that contains the image and applies various
image filtering algorithms. There's a page of
demos that illustrate the effects.
The effects work by getting pixels with
looping through them and applying the selected filter.
I hate dealing with range selection. I can't remember if it's due to IE,
or if every browser does it differently, but I have a piece of
how it works. Rangy by Tim Down (MIT
License) is a library that addresses this lapse in my pragmatism. It's
currently pre-alpha, but already has some useful functionality:
var range = rangy.createRange(); // All DOM Range methods and properties supported range.selectNodeContents(document.body); // All HTML5 Selection methods and properties supported var sel = rangy.getSelection(); sel.removeAllRanges(); sel.addRange(range);