UNPKG

sixel

Version:

Sixel image format for node and browser.

65 lines 3.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const fs = require("fs"); const Decoder_1 = require("./Decoder"); const HI = '#0;2;0;0;0#1;2;100;100;0#2;2;0;100;0#1~~@@vv@@~~@@~~~~@@vv@@~~@@~~~~@@vv@@~~@@~~$#2??}}GG}}??}}????}}GG}}??}}????}}GG}}??}}??-#1!14!14!14@'; //let dec: WasmDecoder; //const decP = WasmDecoderAsync().then(inst => dec = inst); function test() { //const data = fs.readFileSync('testfiles/test2_clean.sixel'); // 541;415 //const data = fs.readFileSync('testfiles/fullhd_12bit_noise_clean.six'); //1920;1080 //const data = fs.readFileSync('testfiles/fhd2_clean.six'); //const data = fs.readFileSync('grrr.sixel'); // 1280;720 541;415 //const data = fs.readFileSync('testfiles/test1_clean.sixel'); // 1280;720 const data = fs.readFileSync('testfiles/quantfrog_hls_clean.six'); // 512;512 //const data = fs.readFileSync('fixture.sixel'); //960;960 //const data = fs.readFileSync('big.sixel'); // 6000;4000 // l1 images //const data = fs.readFileSync('testfiles/biplane_clean.six'); //const data = fs.readFileSync('testfiles/gnuplot_clean.six'); //const data = fs.readFileSync('testfiles/chess_clean.six'); //const data = fs.readFileSync('testfiles/michael_clean.six'); // L2 with overprinting in xy const dec = new Decoder_1.Decoder(); const start = Date.now(); for (let i = 0; i < 1000; ++i) { dec.init(0xFF0000FF, null, 256, false); dec.decode(data); //dec.decodeString('$-'); //dec.decode(new Uint8Array([45, 33, 49, 48, 48, 48, 75, 36])) //dec.decodeString('#0;2;100;100;100!32746K$-'); //$-!32746K'); //dec.decodeString('#0;2;100;100;100' + '!2K$-'.repeat(5400)); //dec.decodeString('$-#0!0K'); //dec.decodeString('$-' + HI); //dec.decodeString('!1000K$-'.repeat(175)); // OOM test } console.warn('duration', Date.now() - start); //dec.decode(data); console.log(dec.properties); const { createCanvas, createImageData } = require('canvas'); const open = require('open'); const imageData = createImageData(dec.width, dec.height); new Uint32Array(imageData.data.buffer).set(dec.data32); // draw ImageData to canvas const canvas = createCanvas(dec.width, dec.height); const ctx = canvas.getContext('2d'); ctx.putImageData(imageData, 0, 0); // write to some file and show it const targetFile = __dirname + '/bla.png'; const out = fs.createWriteStream(targetFile); const stream = canvas.createPNGStream(); stream.pipe(out); out.on('finish', () => open(targetFile)); } test(); //setTimeout(() => test(), 100); async function test2() { const data = fs.readFileSync('testfiles/test1_clean.sixel'); const start = Date.now(); for (let i = 0; i < 1000; ++i) { (0, Decoder_1.decode)(data, { truncate: true }); //await decodeAsync(data); } console.warn('duration2', Date.now() - start); } //test2(); //# sourceMappingURL=testRuntime.js.map