1.0.10 โข Published 4 years ago
thumbo-core v1.0.10
๐ฑ Dead fast thumbnail library for browser and NodeJs
Built with Rust ๐ฆ & WebAssembly ๐ธ
๐ About
thumbo-core is a thubnail library for browsers and NodeJs, built with Rust and WebAssembly in other to achieve closer to native speed!
It supports thumbnail generation for Png, Jpeg, Gif, Ico, Webp and Svg! Webp support is a work in progress.
๐ฃ If you plan to use
thumbo-core, it should be used with a Webworker so you don't block the main thread! If you don't want to go through this hassle, use thumbo, it provides a worker pool to handle thumbnail generation usingthumbo-coreout of the box.
๐ด Usage
๐งช Sample usage
import * as thumbo from "thumbo-core";
const img = await fetch("/path/to/img.png");
const thumbnail = thumbo.thumbnail(
new Uint8Array(await img.arrayBuffer()),
thumbo.ImageFormat.Png,
20,
20
);
const thumbnail_blob = new Blob([thumbnail], { type: "image/png" });
const url = URL.createObjectURL(thumbnail_blob);
document.getElementById("img").src = url;โ๏ธ API Reference
thumbo.ImageFormat
An enum of image formats supported by thumbo-core.
thumbo.thumbnail(image_buffer: Uint8Array, format: thumbo.ImageFormat, width, height)
Creates a thumbnail from the provided image buffer.
๐ท๐ฝ Development
๐ ๏ธ Build with wasm-pack build
wasm-pack build๐ฌ Test in Headless Browsers with wasm-pack test
wasm-pack test --headless --chrome๐ Publish to NPM with wasm-pack publish
wasm-pack publish