Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Everything formula converter
- //Requires node-canvas, run "npm install canvas"
- //Also requires big.js https://github.com/MikeMcl/big.js/raw/master/big.min.js
- var Big = require('./big.js'); //or big.min.js
- var Canvas = require('canvas');
- var Image = Canvas.Image;
- var ctx = null;
- var k = 0;
- var binaryArray = null;
- var binary = null;
- function toBinary(inp, ctx) {
- binaryArray = new Array();
- k = inp.div(17);
- while (k.gt(0)) {
- var remainder = k.mod(2);
- binaryArray.push(remainder.toString());
- k = k.div(2).round(0,0);
- }
- var differenceTo1802 = 1802 - binaryArray.length;
- if (differenceTo1802 > 0) {
- for (var i = 0; i < differenceTo1802; i++) {
- binaryArray.push("0");
- };
- }
- binary = binaryArray; //ok who flipped this upside down >.>
- //binary = new Array();
- //for (var i = binaryArray.length - 1; i >= 0; i--) {
- // binary.push( binaryArray[i] );
- //}
- var x = 0;
- var y = 0;
- function pixel(x, y, color) {
- if (ctx == null)
- return;
- var w = 5;
- var h = 5;
- var idx = x * w;
- var jdx = (16 - y) * h;
- ctx.fillStyle = color;
- ctx.fillRect(idx, jdx, w, h);
- }
- for (var i = 0; i < binary.length; i++) {
- if (binary[i] == "1") {
- pixel(x, y, "#000000");
- } else {
- pixel(x, y, "#FFFFFF");
- }
- y++;
- if (y > 16) {
- y = 0;
- x++;
- }
- };
- return ctx;
- }
- function toDataUrl(num) {
- var canvas = new Canvas(530, 85);
- if (canvas.getContext ){
- ctx = canvas.getContext('2d');
- var k = new Big(num);
- ctx = toBinary(k, ctx);
- ctx.rotate(Math.PI);
- console.log(canvas);
- return canvas.toDataURL();
- }
- }
- console.log(toDataUrl("4858450636189713423582095962494202044581400587983244549483093085061934704708809928450644769865524364849997247024915119110411605739177407856919754326571855442057210445735883681829823754139634338225199452191651284348332905131193199953502413758765239264874613394906870130562295813219481113685339535565290850023875092856892694555974281546386510730049106723058933586052544096664351265349363643957125565695936815184334857605266940161251266951421550539554519153785457525756590740540157929001765967965480064427829131488548259914721248506352686630476300"));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement