sharpvg
Version:
Converts bitmaps to beautifully pixelated SVGs
2 lines • 3.24 kB
JavaScript
!function(n){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{var r;"undefined"!=typeof window?r=window:"undefined"!=typeof global?r=global:"undefined"!=typeof self&&(r=self),r.sharpvg=n()}}(function(){return function n(r,t,e){function o(u,f){if(!t[u]){if(!r[u]){var c="function"==typeof require&&require;if(!f&&c)return c(u,!0);if(i)return i(u,!0);var v=new Error("Cannot find module '"+u+"'");throw v.code="MODULE_NOT_FOUND",v}var a=t[u]={exports:{}};r[u][0].call(a.exports,function(n){var t=r[u][1][n];return o(t?t:n)},a,a.exports,n,r,t,e)}return t[u].exports}for(var i="function"==typeof require&&require,u=0;u<e.length;u++)o(e[u]);return o}({1:[function(n,r){"use strict";function t(n){for(var r,t=n.length,o=[],i=1,u=n[0];t>i;++i){var r=n[i];e(u.h,r.h)?r={h:u.h+r.h}:e(u.v,r.v)?r={v:u.v+r.v}:o.push(u),u=r}return o}function e(n,r){return n*r>0}r.exports=t},{}],2:[function(n,r){"use strict";function t(n){for(var r,t=n.length+2,i=n[0].length+2,u=new Array(t),f=0;t>f;++f){r=u[f]=new Array(i);for(var c=0;i>c;++c)r[c]=o[e(n,c-1,f-1)]}return u}function e(n,r,t){function e(r,t){return(n[t]||i)[r]||0}return[e(r-1,t-1),e(r,t-1),e(r-1,t),e(r,t)].join("")}r.exports=t;var o=Object.freeze({1000:{h:-1},"0100":{v:-1},"0010":{v:1},"0001":{h:1},"0111":{v:-1},1011:{h:1},1101:{h:-1},1110:{v:1},"0011":{h:1},1100:{h:-1},1010:{v:1},"0101":{v:-1},1001:{next:!0},"0110":{next:!0}}),i=[]},{}],3:[function(n,r){"use strict";function t(n){for(var r=[],t=0;n>t;++t)r[t]=[];return r}function e(n){for(var r=n.length,e=n[0].length,i=t(r),f=[],c=0;r>c;++c)for(var v=0;e>v;++v)n[c][v]&&!i[c][v]&&f.push(o(v,c,n,i));return u(f)}function o(n,r,t,e){var o=n,u=r,f=[{x:n,y:r}];do{var c=t[r][n];c.next&&(c=i(f[f.length-1])),f.push(c),n+=c.h||0,r+=c.v||0,e[r][n]=!0}while(n!==o||r!==u);return f}function i(n){return-1===n.v?{h:-1}:-1===n.h?{v:1}:1===n.v?{h:1}:{v:-1}}function u(n){return n.reduce(function(n,r){return r.forEach(function(r){n.push(r)}),n},[])}r.exports=e},{}],4:[function(n,r){"use strict";function t(n,r,t){return o(e(n,r,t))}var e=n("../split"),o=n("../svg");r.exports=t},{"../split":5,"../svg":6}],5:[function(n,r){"use strict";function t(n,r,t){function o(n,o,u,f,c){var v="#"+[u,f,c].map(e).join("");if(!i[v]){i[v]=new Array(t);for(var a=0;t>a;++a)i[v][a]=new Uint8Array(r)}i[v][o][n]=1}for(var i={},u=0,f=0;t>f;++f)for(var c=0;r>c;++c)u=4*(f*r+c),n[u+3]>0&&o(c,f,n[u],n[u+1],n[u+2]);return{w:r,h:t,colors:i}}function e(n){var r=n.toString(16);return 1===r.length?"0"+r:r}r.exports=t},{}],6:[function(n,r){"use strict";function t(n){n.w+2,n.h+2;return["<svg ",'width="',n.w,'" ','height="',n.h,'" ','xmlns="http://www.w3.org/2000/svg">'].concat(e(n.colors).map(function(n){return'<path d="'+n.d+'" fill="'+n.fill+'"/>'})).concat(["</svg>"]).join("")}function e(n){var r=[];for(var t in n){var e=n[t];r.push({fill:t,d:o(f(u(i(e))))})}return r}function o(n){return n.map(function(n){return n.h?"h"+n.h:n.v?"v"+n.v:"M"+(n.x-1)+","+(n.y-1)}).join("")+"z"}r.exports=t;var i=n("./lib/orient"),u=n("./lib/trace"),f=n("./lib/optimize")},{"./lib/optimize":1,"./lib/orient":2,"./lib/trace":3}]},{},[4])(4)});
//# sourceMappingURL=dist/sharpvg-0.5.0.map.json