JS - получить ImageData через ajax

Я использую веб-работника, который выполняет некоторую обработку изображений в непрерывном потоке изображений. В настоящее время мне нужно создать новое изображение, поместить его на холст, а затем отправить данные изображения веб-работнику:

  window.img = new Image();
  img.onload = imageOnLoad;
  img.src = "image.png";
function imageOnLoad()
  {
    // canvas.display.context.drawImage(this, 0, 0);
    imData = getDataFromImage(this);
    asmWorker.postMessage({"data": imData});
  }
function getDataFromImage( img ) {
  // Get image data from specified canvas
  canvas.display.context.drawImage(img,0,0)
  var height = canvas.display.height;
  var width = canvas.display.width;
  var nBytes = height * width * 4;
  var pixels = canvas.display.context.getImageData(0, 0, width, height);
  var imData = { width: width, height: height, data: pixels.data.buffer };
  return pixels;
}

Тем не менее, я хотел бы получить изображения от самого веб-работника; поэтому я не могу использовать холст и использовать Image возражать, как я делаю сейчас. Какой хороший способ сделать это?

Единственный способ получить изображения по сети от веб-работника - выполнить запрос XMLHTTPRequest. Я попробовал предложения из этого ответа, но кажется, что они только позволяют мне создавать Uint8Array или же Blob объекты. Я получаю ошибки всякий раз, когда пытаюсь преобразовать их в Uint8ClampedArray или же ImageData объекты.

Как преобразовать изображение, полученное из AJAX, в ImageData объект?

0 ответов

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