ai2png
Version:
Converts ANSI-IMAGE to png.
24 lines • 805 B
JavaScript
function _(d,callback=()=>{},size=25){
var canvas = require("canvas");
_.ansi_image(d,r=>{
var ch = r.split("\n").map(x=>x.split(/ \x1b\[m/)).map(y=>y.map(x=>x.replace(/^\x1b\[48;5;(\d+)m/,"$1"))).map((x,i,a)=>{
x.pop();
return x.map(y=>+y);
});
canvas = canvas.createCanvas(size * ch[0].length,size * ch.length);
var ctx = canvas.getContext("2d");
var colors = require("./data.json");
for(var i = 0; i < ch.length; i++){
for(var j = 0; j < ch[i].length; j++){
ctx.fillStyle = colors[ch[i][j]].hexString;
ctx.fillRect(j * size,i * size,size,size);
}
}
callback({
image: canvas.createPNGStream(),
url: canvas.toDataURL()
});
});
}
module.exports = _;
module.exports.ansi_image = require("npmisgood-ansi-image");