Advertisement
justync7

efdataurl.js

Feb 27th, 2016
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Everything formula converter
  2. //Requires node-canvas, run "npm install canvas"
  3. //Also requires big.js https://github.com/MikeMcl/big.js/raw/master/big.min.js
  4. var Big = require('./big.js'); //or big.min.js
  5. var Canvas = require('canvas');
  6. var Image = Canvas.Image;
  7.  
  8. var ctx = null;
  9. var k = 0;
  10. var binaryArray = null;
  11. var binary = null;
  12.  
  13. function toBinary(inp, ctx) {
  14.     binaryArray = new Array();
  15.     k = inp.div(17);
  16.     while (k.gt(0)) {
  17.         var remainder = k.mod(2);
  18.         binaryArray.push(remainder.toString());
  19.         k = k.div(2).round(0,0);
  20.     }
  21.     var differenceTo1802 = 1802 - binaryArray.length;
  22.     if (differenceTo1802 > 0) {
  23.         for (var i = 0; i < differenceTo1802; i++) {
  24.             binaryArray.push("0");
  25.         };
  26.     }
  27.    
  28.     binary = binaryArray; //ok who flipped this upside down >.>
  29.     //binary = new Array();
  30.     //for (var i = binaryArray.length - 1; i >= 0; i--) {
  31.     //    binary.push( binaryArray[i] );
  32.     //}
  33.         var x = 0;
  34.     var y = 0;
  35.   function pixel(x, y, color) {
  36.     if (ctx == null)
  37.         return;
  38.  
  39.     var w = 5;
  40.     var h = 5;
  41.     var idx = x * w;
  42.     var jdx = (16 - y) * h;
  43.  
  44.     ctx.fillStyle = color;
  45.     ctx.fillRect(idx, jdx, w, h);
  46.   }
  47.     for (var i = 0; i < binary.length; i++) {
  48.         if (binary[i] == "1") {
  49.             pixel(x, y, "#000000");
  50.         } else {
  51.             pixel(x, y, "#FFFFFF");
  52.         }
  53.         y++;
  54.         if (y > 16) {
  55.             y = 0;
  56.             x++;
  57.         }
  58.     };
  59.     return ctx;
  60. }
  61.  
  62. function toDataUrl(num) {
  63.     var canvas = new Canvas(530, 85);
  64.     if (canvas.getContext ){
  65.         ctx = canvas.getContext('2d');
  66.         var k = new Big(num);
  67.         ctx = toBinary(k, ctx);
  68.         ctx.rotate(Math.PI);
  69.         console.log(canvas);
  70.         return canvas.toDataURL();
  71.   }
  72. }
  73.  
  74. console.log(toDataUrl("4858450636189713423582095962494202044581400587983244549483093085061934704708809928450644769865524364849997247024915119110411605739177407856919754326571855442057210445735883681829823754139634338225199452191651284348332905131193199953502413758765239264874613394906870130562295813219481113685339535565290850023875092856892694555974281546386510730049106723058933586052544096664351265349363643957125565695936815184334857605266940161251266951421550539554519153785457525756590740540157929001765967965480064427829131488548259914721248506352686630476300"));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement