FileReader (клиент) vs fs (Файловая система на сервере npm) для PNGJS.parse

Я пытаюсь работать с библиотекой PNGJS, так как я хочу проанализировать файл PNG и определить цвет каждого пикселя на изображении.

В документации PNGJS он использует пакет npm 'fs' для чтения файла. например

var data = fs.readFileSync('in.png');
var png = PNG.sync.read(data);

или же

fs.createReadStream('in.png')
    .pipe(new PNG())
    .on('parsed', function() {
        this.adjustGamma();
        this.pack().pipe(fs.createWriteStream('out.png'));
    });

Я пытаюсь прочитать файл на клиенте, однако, и поэтому я не могу использовать пакет fs npm.

Поэтому я решил использовать FileReader. например

const img = document.getElementById('maze_text')
    console.log('img', img)
    console.log('img.src', img.src)

    fetch(img.src)
    .then(res => res.blob())
    .then(blob => {
      const file = new File([blob], 'maze_text.png', blob)
      console.log(file)

      var FileReader = new window.FileReader()
      FileReader.onload = function() {
        var data = FileReader.result
        console.log('FileReader.result', FileReader.result)

        newPNG.parse(data, (err, data) => {
          console.log('inside newPNG.parse')
          console.log('err', err)
          console.log('data', data)
        })
      };


      var imageData = FileReader.readAsArrayBuffer(file)
      // var imageData = FileReader.readAsText(file)
      // var imageData = FileReader.readAsDataURL(file)
      // var imageData = FileReader.readAsBinaryString(file)

Однако, когда я передаю файл в метод синтаксического анализа PNGJS, я получаю следующую ошибку:

err Error: Stream not writable
    at module.exports.ChunkStream.write (chunkstream.js:46)
    at module.exports.ChunkStream.end (chunkstream.js:74)
    at exports.PNG.PNG.end (png.js:98)
    at exports.PNG.PNG.parse (png.js:88)
    at FileReader.onload (Mazes.js:131)

Что эквивалентно fs.createReadStream или fs.readFileSync для API FileReader на стороне клиента?

а как работать с PNGJS?

0 ответов

Другие вопросы по тегам