Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const {
- createCanvas,
- loadImage
- } = require('canvas')
- const fs = require('fs');
- const bigInt = require("big-integer");
- var image_data = bigInt(process.argv[2]).toString(2);
- var image_size = Math.ceil(Math.pow(image_data.length, 0.5));
- console.log("Image data (len "+image_data.length+"): "+image_data);
- console.log("Image size: "+image_size);
- const canvas = createCanvas(image_size, image_size);
- const ctx = canvas.getContext('2d');
- for (var i = 0; i < image_data.length; i++) {
- var x = i%image_size;
- var y = Math.floor(i/image_size);
- if (image_data[i] == "1") {
- ctx.fillStyle = "#000000";
- console.log("pixel ("+x+","+y+") is black");
- } else {
- ctx.fillStyle = "#FFFFFF";
- console.log("pixel ("+x+","+y+") is white");
- }
- ctx.fillRect( x, y, 1, 1 );
- }
- var d = new Date();
- var fn = "output/test_"+(d.getTime())+".png";
- var out = fs.createWriteStream(fn)
- const stream = canvas.createPNGStream({
- quality: 0.95,
- chromaSubsampling: false
- })
- stream.pipe(out)
- out.on('finish', () => {
- return console.log("done");
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement