Better resize methods (#498)

* Port resize to wasm

* Expose resize algorithms

* Lanczos3 working!

* lol copy paste

* Adding support for other resizers

* Don’t track generated README

* Cache wasm instance
This commit is contained in:
Jake Archibald
2019-03-06 17:20:25 +00:00
committed by GitHub
parent 8c35c3cdaa
commit 9e5b66d5f4
27 changed files with 435 additions and 60 deletions

View File

@@ -1,11 +1,11 @@
import webp_dec, { WebPModule } from '../../../codecs/webp_dec/webp_dec';
import wasmUrl from '../../../codecs/webp_dec/webp_dec.wasm';
import { initWasmModule } from '../util';
import { initEmscriptenModule } from '../util';
let emscriptenModule: Promise<WebPModule>;
export async function decode(data: ArrayBuffer): Promise<ImageData> {
if (!emscriptenModule) emscriptenModule = initWasmModule(webp_dec, wasmUrl);
if (!emscriptenModule) emscriptenModule = initEmscriptenModule(webp_dec, wasmUrl);
const module = await emscriptenModule;
const rawImage = module.decode(data);