Created
July 23, 2018 15:52
-
-
Save austintgriffith/8a3668755d577656439d4aeff9121f7e to your computer and use it in GitHub Desktop.
Takes a collection of pngs layers and joins them for https://github.com/austintgriffith/nifties-vs-nfties
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* | |
| Takes a collection of pngs layers and joins them for | |
| https://github.com/austintgriffith/nifties-vs-nfties | |
| brew install imagemagick | |
| brew install graphicsmagick | |
| npm install --save gm | |
| node index.js | |
| */ | |
| let fs = require('fs') | |
| , gm = require('gm'); | |
| let dir = './output'; | |
| if (!fs.existsSync(dir)){ | |
| fs.mkdirSync(dir); | |
| } | |
| let shadow4 = "./nifties/shadow-4.png" | |
| let shadow3 = "./nifties/shadow-3.png" | |
| let shadow2 = "./nifties/shadow-2.png" | |
| let shadow1 = "./nifties/shadow-1.png" | |
| let count = 0 | |
| for(bodyNumber=1;bodyNumber<=5;bodyNumber++){ | |
| for(feetNumber=1;feetNumber<=7;feetNumber++){ | |
| for(headNumber=1;headNumber<=7;headNumber++){ | |
| for(mouthNumber=1;mouthNumber<=8;mouthNumber++){ | |
| let body = "./nifties/nifties-body-"+bodyNumber+".png" | |
| let feet = "./nifties/nifties-feet-"+feetNumber+".png" | |
| let head = "./nifties/nifties-head-"+headNumber+".png" | |
| let mouth = "./nifties/nifties-mouth-"+mouthNumber+".png" | |
| count++ | |
| let filename = "./output/nifties-"+bodyNumber+"-"+feetNumber+"-"+headNumber+"-"+mouthNumber+".png" | |
| if (!fs.existsSync(filename)){ | |
| gm() | |
| .in("xc:transparent") | |
| .compose("Over") | |
| .in('-geometry', '+0+0') | |
| .in(shadow4) | |
| .in('-geometry', '+0+0') | |
| .in(shadow3) | |
| .in('-geometry', '+0+0') | |
| .in(shadow2) | |
| .in('-geometry', '+0+0') | |
| .in(shadow1) | |
| .in('-geometry', '+0+0') | |
| .in(body) | |
| .in('-geometry', '+0+0') | |
| .in(feet) | |
| .in('-geometry', '+0+0') | |
| .in(head) | |
| .in('-geometry', '+0+0') | |
| .in(mouth) | |
| .mosaic() | |
| .write(filename, function (err) { | |
| if (err) console.log(err); | |
| }); | |
| } | |
| } | |
| } | |
| } | |
| } | |
| console.log(""+count+" nifties generated") | |
| shadow4 = "./nfties/shadow-4.png" | |
| shadow3 = "./nfties/shadow-3.png" | |
| shadow2 = "./nfties/shadow-2.png" | |
| shadow1 = "./nfties/shadow-1.png" | |
| count = 0 | |
| for(bodyNumber=1;bodyNumber<=5;bodyNumber++){ | |
| for(feetNumber=1;feetNumber<=5;feetNumber++){ | |
| for(headNumber=1;headNumber<=5;headNumber++){ | |
| for(mouthNumber=1;mouthNumber<=5;mouthNumber++){ | |
| for(extraNumber=1;extraNumber<=5;extraNumber++){ | |
| let body = "./nfties/nfties-body-"+bodyNumber+".png" | |
| let feet = "./nfties/nfties-feet-"+feetNumber+".png" | |
| let head = "./nfties/nfties-head-"+headNumber+".png" | |
| let mouth = "./nfties/nfties-mouth-"+mouthNumber+".png" | |
| let extra = "./nfties/nfties-extra-"+extraNumber+".png" | |
| count++ | |
| let filename = "./output/nfties-"+bodyNumber+"-"+feetNumber+"-"+headNumber+"-"+mouthNumber+"-"+extraNumber+".png" | |
| if (!fs.existsSync(filename)){ | |
| gm() | |
| .in("xc:transparent") | |
| .compose("Over") | |
| .in('-geometry', '+0+0') | |
| .in(shadow4) | |
| .in('-geometry', '+0+0') | |
| .in(shadow3) | |
| .in('-geometry', '+0+0') | |
| .in(shadow2) | |
| .in('-geometry', '+0+0') | |
| .in(shadow1) | |
| .in('-geometry', '+0+0') | |
| .in(body) | |
| .in('-geometry', '+0+0') | |
| .in(feet) | |
| .in('-geometry', '+0+0') | |
| .in(head) | |
| .in('-geometry', '+0+0') | |
| .in(mouth) | |
| .in('-geometry', '+0+0') | |
| .in(extra) | |
| .in('-geometry', '+0+0') | |
| .mosaic() | |
| .write(filename, function (err) { | |
| if (err) console.log(err); | |
| }); | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| console.log(""+count+" nfties generated") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment