-
Notifications
You must be signed in to change notification settings - Fork 0
/
trianglify-wallpaper.js
57 lines (50 loc) · 1.21 KB
/
trianglify-wallpaper.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/usr/bin/env node
var Trianglify = require('trianglify'),
fs = require('fs'),
tmp = require('tmp'),
svg2png = require('svg2png');
var opts = require('nomnom')
.option('width', {
abbr: 'w',
default: 2560,
help: 'Width of output image'
})
.option('height', {
abbr: 'h',
default: 1600,
help: 'Height of output image'
})
.option('cellsize', {
abbr: 'cs',
help: 'Cellsize'
})
.option('bleed', {
abbr: 'b',
help: 'Bleed'
})
.option('noiseIntensity', {
abbr: 'ni',
help : 'Noise intensity'
})
.option('cellpadding', {
abbr: 'cp',
help: 'Cellpadding'
})
.option('output', {
abbr: 'o',
default: 'out.png',
help: 'Output filename'
})
.parse();
var t = new Trianglify(opts);
var pattern = t.generate(opts.width, opts.height);
tmp.file({ postfix : '.svg' }, function(err, path, fd) {
if (err) throw err;
fs.writeFile(path, pattern.svgString, function(err) {
if(err) throw err;
svg2png(path, opts.output, function (err) {
if (err) throw err;
console.log(opts.output + ' written');
});
})
});