Home

Awesome

mtgjson-render

Generates images from card data based on the https://github.com/freeall/mtgjson format.

Installation

npm install mtgjson-render

Usage

var fs = require('fs');
var renderer = require('mtgjson-render');

var renderCard = renderer({
	margin: 10
});
var card = {
	layout: 'normal',
	type: 'Creature — Elemental',
	types: [ 'Creature' ],
	colors: [ 'Blue' ],
	multiverseid: 94,
	name: 'Air Elemental',
	subtypes: [ 'Elemental' ],
	cmc: 5,
	rarity: 'Uncommon',
	artist: 'Richard Thomas',
	power: '4',
	toughness: '4',
	manaCost: '{3}{U}{U}',
	text: 'Flying',
	flavor: 'These spirits of the air are winsome and wild and cannot be truly contained. Only marginally intelligent, they often substitute whimsy for strategy, delighting in mischief and mayhem.',
	imageName: 'air elemental'
};

renderCard(card, {setname:'Limited Edition Alpha'}, function(err, stream) {
	var out = fs.createWriteStream('Air Elemental.png');
	stream.pipe(out);
});

Create renderer, ([options])

Returns a function which can create a stream with the rendered image.

Example:

var renderer = require('mtgjson-render');

var renderCard = renderer({
	zoom: 2,
	format: 'jpg'
});

options

zoom

Zoom-level. Defaults to 1.

Can be a practical way if you want to print the rendered image and you need it in a higher resolution.

margin

Margin around the black border. Defaults to 0.

Can be practical if you need some whitespace before the actual rendered image.

width

Width of the card. Defaults to 265.

height

Height of the card. Defaults to 370.

format

Output format. Defaults to png.

Can be png, gif, jpg, pdf.

Create image, (card, [options], callback)

Returns a stream with the generated image.

Example:

var renderer = require('mtgjson-render');

var renderCard = renderer();
renderCard(aMagicCard, {setname:'some magic set'}, function(err, stream) {
	var out = fs.createWriteStream('Air Elemental.png');
	stream.pipe(out);
});

options

setname

The name of the set. Replaces the image of the card.