You should rewrite a "pseudo-non-blocking" implementation of these filters. Right now they block the UI thread for too long, which limits how useful these can be. Web workers in one option, although it's not widely supported. The better option is to use setTimout or setInterval to break of the processing work into chunks, which is supported in all browsers. For example, run the loop n iterations then run the next n after a 15 ms delay. The way you've implemented the processing right now makes this lib unsuitable for use on the clientside.
Additionally, if you were doing this a couple years from now you could do it all in a shader in WebGL - which mimics what I believe to be Instagram's technology progression from pure CPU filters to pure GPU filters.
What a fantastic contribution & thanks for considering MIT/MPL. This will definitely come in handy as a small side side feature for user profiles on my upcoming projects.
Awesome. I would suggest wrapping this into a small service and sell it as an API. No need for complicated documentation either, one URL with parameters.
[+] [-] kwamenum86|14 years ago|reply
[+] [-] newhouseb|14 years ago|reply
[+] [-] alexmic|14 years ago|reply
[+] [-] iso8859-1|14 years ago|reply
[+] [-] hhastings|14 years ago|reply
[+] [-] pie|14 years ago|reply
[+] [-] huytoan_pc|14 years ago|reply
A better JS filter library I found is CarmanJS. Check out their demos at http://camanjs.com/examples/presets
[+] [-] rokhayakebe|14 years ago|reply
[+] [-] franze|14 years ago|reply
not a big fan of the license choice, though.
[+] [-] cleverjake|14 years ago|reply
[+] [-] whymsicalburito|14 years ago|reply
[+] [-] alexmic|14 years ago|reply
[+] [-] unknown|14 years ago|reply
[deleted]
[+] [-] maxjaderberg|14 years ago|reply
[+] [-] jamesflorentino|14 years ago|reply
It basically uses the toDataURL() method to get the image data of the canvas.
[+] [-] leak|14 years ago|reply
[+] [-] DanBlake|14 years ago|reply
[+] [-] Kiro|14 years ago|reply