【Rust基础】使用Rust和WASM开发的图片压缩工具
图片压缩工具
使用rust+wasm开发了一个简易版的图片压缩工具,支持JPG、PNG、GIF、WEBP等图片格式,不限制大小,无需上传图片,完全在浏览器中执行。
工具地址:https://eai.coderbox.cn/image-compression
实现方式
-
JPEG
对原图进行量化,通过指定质量参数,控制压缩质量。 -
PNG
同样的进行量化,并重新将rgba颜色(如果原图是rgba)调整为8位索引颜色,最后对图片重新编码。 -
WEP
同JPEG -
GIF
提取原图帧后进行量化压缩,帧率和原图保持一致,最后重新编码图片。
使用Rust开发WASM
-
安装wasm-pack
cargo install wasm-pack
-
在
Cargo.toml
中添加依赖wasm-bindgen = "0.2"
-
通过
#[wasm_bindgen]
暴露出接口给js调用 -
编译
wasm-pack build --target web