Skip to content

Instantly share code, notes, and snippets.

@jbouny
Created July 3, 2015 15:39
Show Gist options
  • Save jbouny/198b6663e19d2d12f63b to your computer and use it in GitHub Desktop.
Save jbouny/198b6663e19d2d12f63b to your computer and use it in GitHub Desktop.
Node.js GIF generation with gifencoder
var GIFEncoder = require('gifencoder');
function createGifEncoder(resolution, response) {
var encoder = new GIFEncoder(resolution.x * 32, resolution.y * 32);
var stream = encoder.createReadStream();
response.type("gif");
stream.pipe(response);
encoder.start();
// Set GIF parameters
encoder.setRepeat(0); // 0 for repeat, -1 for no-repeat
encoder.setDelay(150); // frame delay in ms
encoder.setQuality(15); // image quality. 10 is default.
return encoder;
}
function sendAsGIF(response, canvas) {
var encoder = createGifEncoder({x: canvas.width, y: canvas.height}, response);
var context = canvas.getContext("2d");
// Add 3 frames
encoder.addFrame(context);
encoder.addFrame(context);
encoder.addFrame(context);
encoder.finish();
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment