将WebPack PNG转换为缓冲区

时间:2018-11-14 17:53:43

标签: javascript webpack arraybuffer webassembly

我有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或原始未编码缓冲区?

0 个答案:

没有答案