【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

    shell 复制代码
    cargo install wasm-pack
  • 在Cargo.toml中添加依赖wasm-bindgen = "0.2"

  • 通过#[wasm_bindgen]暴露出接口给js调用

  • 编译

    shell 复制代码
    wasm-pack build --target web
相关推荐
心祭丫丫8 分钟前
【每天一个 Python 小案例17】Python 实现通讯录
开发语言·人工智能·笔记·python·学习
露天赏雪34 分钟前
第3篇:Sentinel熔断降级实战:大模型接口抖动时的服务兜底方案
java·开发语言·人工智能·spring boot·spring·servlet·sentinel
yeccheng3 小时前
MySQL 索引超详解:从底层 B+ 树到面试高频考点
java·开发语言·jvm·mysql·面试
联犀3 小时前
纯 Go 的 CAD 开源库 go-cad:直接解析 DWG/DXF,现在也能导出 PDF
开发语言·golang·pdf
zjxtxdy3 小时前
C++面向对象程序开发-类与对象
开发语言·c++
qq_406981036 小时前
c++拷贝构造函数
开发语言·c++
爱喝雪碧的可乐6 小时前
MATLAB
开发语言·算法·matlab
unconditional7 小时前
我拆了 sdkm 的回滚设计:每个写操作,都提前写好了翻车预案
rust·开源
数字幽灵7 小时前
开源!我用 Rust 手搓了一个 Agent 原生的鸿蒙逆向分析平台
rust
H.莓飛8 小时前
【C++】【STL】vector_OJ题
linux·服务器·开发语言·数据结构·c++·visual studio