7 个不稳定版本 (3 个重大变更)
0.9.1 | 2024 年 7 月 11 日 |
---|---|
0.8.0 | 2024 年 7 月 10 日 |
0.7.0 | 2024 年 4 月 20 日 |
0.6.3 | 2023 年 4 月 10 日 |
0.6.2 | 2023 年 3 月 8 日 |
在 WebAssembly 中排名 #249
每月下载量 357 次
425KB
354 行
jpeg2k-sandboxed
沙盒 Jpeg2k 图像解码器。jpeg2k 解码器(使用 openjpeg-sys
)编译为 WASI 模块,并使用 wasmtime
进行沙盒化。
构建
可以通过运行 ./rebuild-wasi-decoder.sh
重建 ./src/wasi-decoder.wasm
文件。
需要 wasi-sdk。
示例:将 Jpeg 2000 图像转换为 png 图像。
use jpeg2k_sandboxed::*;
fn main() {
// The decoder object can be shared across threads.
let decoder = Jpeg2kSandboxed::new().expect("Failed to load decoder");
let mut file = File::open("./assets/example.j2k").expect("Failed to open file.");
let mut buf = Vec::new();
file.read_to_end(&mut buf).expect("Failed to read file.");
// Request decoding of image from bytes.
let req = DecodeImageRequest::new(buf);
let image = decoder.decode(&req).expect("Decode failed.");
// Convert to a `image::DynamicImage`
let img: image::DynamicImage = image.try_into()?;
// Save as png file.
img.save("out.png")?;
}
依赖项
~0.9–19MB
~252K SLoC