Spaces:
Running
Running
| // | |
| // resize a bitmap data array using nearest neighbor algorithm | |
| // | |
| function resize(data, sourceSize, destSize) { | |
| let resizedData = []; | |
| for (let i = 0; i < destSize; i++) { | |
| for (let j = 0; j < destSize; j++) { | |
| let x = Math.floor(j * sourceSize / destSize); | |
| let y = Math.floor(i * sourceSize / destSize); | |
| resizedData[(i * destSize + j)] = data[(y * sourceSize + x)]; | |
| } | |
| } | |
| return resizedData; | |
| } | |
| // | |
| // converts byte array to an ascii string | |
| // | |
| function bytesToAscii(bytes) { | |
| return Array.prototype.map.call(bytes, x => String.fromCharCode(x)).join(''); | |
| } | |
| // | |
| // converts numeric values to a base2 string of specified length | |
| // | |
| function bin2str(bin, length) { | |
| return bin.toString(2).padStart(length, '0'); | |
| } | |
| export { resize, bytesToAscii, bin2str }; |