UNPKG

node-sprite-generator

Version:

Generates image sprites and their spritesheets (css, stylus, sass, scss or less) from sets of images. Supports retina sprites. Provides express middleware and grunt task.

28 lines (22 loc) 997 B
'use strict'; var _ = require('underscore'), defaultOptions = require('./utils/defaultOptions'), scaleImages = require('./utils/scaleImages'); function sumUp(sum, value) { return sum + value; } module.exports = function generateLayout(images, options, callback) { options = _.extend({}, defaultOptions, options); images = scaleImages(images, options); images = _(images).map(function (image, it) { return _.extend({ x: it === 0 ? 0 : _(images).chain().pluck('width').first(it).reduce(sumUp).value() + options.padding * it, y: it === 0 ? 0 : _(images).chain().pluck('height').first(it).reduce(sumUp).value() + options.padding * it }, image); }); callback(null, { width: _(images).chain().pluck('width').reduce(sumUp).value() + options.padding * (images.length - 1), height: _(images).chain().pluck('height').reduce(sumUp).value() + options.padding * (images.length - 1), images: images }); };