GM engine for spritesmith
npm install gmsmith[GM][gm] engine for [spritesmith][].
[gm]: http://aheckmann.github.io/gm/
[spritesmith]: https://github.com/Ensighten/spritesmith
gmsmith depends on [gm][] which depends on [GraphicsMagick][].I have found it is best to install from the site rather than through a package manager (e.g. apt-get) to get the latest as well as without transparency issues.
This module has been developed and tested against 1.3.17.
> Alertnatively, you can use [ImageMagick][] which is implicitly discovered if gm is not installed.
> http://www.imagemagick.org/script/index.php
[ImageMagick]: http://www.imagemagick.org/script/index.php
[GraphicsMagick]: http://www.graphicsmagick.org/
npm install gmsmith``js
// Load in our dependencies
var Gmsmith = require('gmsmith');
// Create a new engine
var gmsmith = new Gmsmith();
// Interpret some images from disk
gmsmith.createImages(['img1.jpg', 'img2.png'], function handleImages (err, imgs) {
// If there was an error, throw it
if (err) {
throw err;
}
// We recieve images in the same order they were given
imgs[0].width; // 50 (pixels)
imgs[0].height; // 100 (pixels)
// Create a canvas that fits our images (200px wide, 300px tall)
var canvas = gmsmith.createCanvas(200, 300);
// Add the images to our canvas (at x=0, y=0 and x=50, y=100 respectively)
canvas.addImage(imgs[0], 0, 0);
canvas.addImage(imgs[1], 50, 100);
// Export canvas to image
var resultStream = canvas'export';
resultStream; // Readable stream outputting PNG image of the canvas
});
`
Specification version: 2.0.0
https://github.com/twolfson/spritesmith-engine-spec/tree/2.0.0
.Our
Engine constructor provides support for the following options:- options
Object
- imagemagick Boolean - Flag to indicate whether to use [ImageMagick][] over [GraphicsMagick][]
- When true, [ImageMagick][] will be used. Otherwise, implicit discovery will be used.$3
Our createImages methods supports the following types of images:- image
String - Filepath to image
- image Object - Vinyl object with null for image (uses provided filepath)We accept but don't fully support the following types of images:
- image
Object - Vinyl object with buffer for image (ignores contents, uses provided filepath)
- image Object - Vinyl object with stream for image (ignores contents, uses provided filepath)$3
Our export method provides support for the following options:- options
Object
- format String - Output image format to callback with. Currently, png and jpeg are available.
- quality Number - Quality of output image on a scale from 0 to 100Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint using npm run lint and test via npm test`.[twolfson-projects]: http://twolfson.com/projects
[twolfson-support-me]: http://twolfson.com/support-me
Licensed under the MIT license.