The idea of this project is to provide a simple yet powerful API for image processing using only JavaScript. The API is very focused in usability and code readability, since it also serves for educational purposes.
The project was created for study, so, it's only tested on Google Chrome. New ES6 features, such as Promises, are also used. Currently, portability among browsers (specially IE) is not a main goal.
Several samples are provided in the sample folder. The samples use inline scripts and as few css as possible, for simplicity, since it's easier to study just one file than several.
All sample images where kindly donated by Gilson Cavalcanti Filho, a great photographer and a personal friend, and may be used for API demonstration and educational purposes. Some images are deliberately in poor quality, in order to demonstrate correction filters.
In order to test the samples, I recommend using Mongoose Server in Windows. If you are a Mac User, just type python -m SimpleHttpServer 8080 in command prompt. In both cases, the server must be started using the same path of this readme file as root directory (nicepic root).
This software is provided with GPLv3.0 license. If you use this software we ask you the kindness to credit the project name and website.
Also, if you modify this software (adding interesting functionality or tests, fixing bugs, or writing documentation) please, contact the authors to contribute to the official release. Your help will be appreciated.
- 10/09/2014 - Support for masks and paint function. Two mask samples.
- 09/09/2014 - convolve2 function for separable convolutions. 33% performance boost in blur filter and edge detectors.
- 08/08/2014 - Does not freeze browse on heavy functions. nicepic.load now supports HTML 5 File.
- 07/08/2014 - Added add, subtract, blend and multiply operations; blur, sharpen and emboss convolution filters and Laplace, Sobel and Prewitt edge detectors.
- 06/08/2014 - Added brightness, instant camera and color transform effects.
- 05/08/2014 - Included Pixel class, eachPixel function and invert and sepia filters.
- 04/08/2014 - First commit. Grayscale and threshold filters.