У меня есть Uint8ClampedArray
, который содержит растровое изображение. Следующие работы, но я хочу, чтобы избежать копирования буфера, и, как я понимаю, ImageData.set
копирует ArrayBuffer.Нарисуйте существующий ArrayBuffer на холст без копирования
var mappedBuffer = new Uint8ClampedArray(Module.HEAPU8.buffer, offset, length); // Creates a view on the emscripten heap
var imageData = ctx.createImageData(width, height);
imageData.data.set(mappedBuffer); // copy here
ctx.putImage(imageData, 0, 0);
Есть ли способ, чтобы избежать копирования, так что мы можем непосредственно рисовать на холсте без копии первой?
Найдено одно решение несколько минут назад - спасибо! – Philipp