node-libraries / wasm-webp-encoder

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

@node-libraries/wasm-webp-encoder

Overview

Provides the ability to encode WebP using WebAssembly and WebWorker.

Remix(esbuild) and Next.js(webpack) are supported.

types

encode(params:{data: BufferSource, width: number, height: number, quality?: number}): Promise<Uint8Array | null>
encode(params:{data: ImageData, quality?: number}): Promise<Uint8Array | null>

usage

import { encode } from '@node-libraries/wasm-webp-encoder';

// Next.js(webpack)
const encodedValue = await encode({ data: ctx.getImageData(0, 0, img.width, img.height) });
const encodedValue2 = await encode({ data: arrayBuffer, width, height });

// Remix(esbuild)
// Files need to be installed manually
// node_modules/@node-libraries/wasm-webp-encoder/dist  =>
//   public/webp/worker.js
//   public/webp/webp.js
//   public/webp/webp.wasm
const encodedValue3 = await encode({ data: arrayBuffer, width, height, worker: '/webp/worker.js' });

Sample when used with Next.js

About


Languages

Language:TypeScript 50.7%Language:C++ 33.5%Language:Makefile 9.5%Language:Dockerfile 6.3%