У меня есть webpack pack мой png, и я могу импортировать его следующим образом:
import A from './png/A_SingleCell.png';
Я хочу преобразовать это в какой-то буфер, чтобы я мог передать указательв файл .wasm
.
Мне не нужно его декодировать, я могу сделать это в файле wasm.
Мне удалось получить ImageData
, но это кажетсянемного громоздко.
const canvas = document.getElementById("game-state-canvas");
const ctx = canvas.getContext('2d');
const image = new Image();
image.src = A;
image.onload = () => {
ctx.drawImage(image, 0, 0);
const imageData = ctx.getImageData(0, 0, 20, 20);
const byteSize = 20 * 20 * 4;
const pointer = alloc(byteSize);
const array = new Uint8ClampedArray(memory.buffer, pointer, byteSize);
const heap = new Uint8Array(memory.buffer);
const ptr = alloc(byteSize);
heap.set(imageData.data, pointer);
}
Есть ли лучший способ получить либо ImageData, либо необработанный незашифрованный буфер из файла .png
?