我有webpack打包我的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);
}
是否有更好的方法从.png
文件中获取ImageData或原始未编码缓冲区?