spooky.js/README.md

45 lines
1.6 KiB
Markdown

# spooky.js
## Available Effects
### Film Grain
Based on original code from [Szenia Zadvornykh](https://codepen.io/zadvorsky/pen/PwyoMm).
```
var fg = new Spooky.FilmGrain(options);
fg.execute();
fg.stop();
```
Takes optional `options` configuration object:
- `patternSize`: dimensions of the repeating grain pattern (`64`)
- `alpha`: transparency of the effect from 0-255 (`25`)
- `grainScale`: x and y scale of each grain (`{x: 3, y: 1}`)
- `refreshInterval`: how often to redraw the effect
- `canvasId`: optional id of an existing canvas to apply the effect to
If no existing `canvasId` is provided then the effect will be applied to the entire browser screen.
You can animate alpha changes with `fg.setAlpha(newValue, step)` where `step` is optional and will determine how quickly the fade in/out will occur.
### CRT
Based on original code from [Alec Lownes](http://aleclownes.com/2017/02/01/crt-display.html).
```
var crt = new Spooky.CRT({containerId: 'mydiv'});
fg.execute();
fg.stop();
```
Takes required `options` configuration object:
- `containerId`: id of the element to apply the CRT effect to (required)
- `screenDoorColor`: color of the screen door effect (`#000000`)
- `screenDoorSize`: size in pixels of the screen door effect (`2`)
- `screenDoorOpacity`: opacity of the screen door effect from 0-1 (`0.25`)
- `separationColor`: color of the separation effect (`#000000`)
- `separationDistance`: horizontal movement distance in pixels of the separation effect (`5`)
- `separationBlur`: blur size in pixels of the separation effect (`1`)
- `separationOpacity`: opacity of the separation effect from 0-1 (`0.5`)