【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
相关推荐
JackieZhengChina4 小时前
零依赖轻量级JS悬浮提示插件title2tip-js的使用教程
开发语言·javascript·ecmascript
李永奉5 小时前
杰理可视化SDK开发-【BUG】配置“TWS两边同时按消息使能”功能后,按键单击功能无效失灵
开发语言·单片机·嵌入式硬件·物联网·bug
m0_617493945 小时前
Python OpenCV 透视变换(Perspective Transform)详解与实战
开发语言·python·opencv
程序猿编码6 小时前
用C++从零开始造一个微型GPT,不借助任何第三方库
开发语言·c++·gpt·模型推理
普通网友6 小时前
pytest一些常见的插件
开发语言·python·pytest
苦瓜花6 小时前
【Kotlin】初入门
android·开发语言·kotlin
cndes6 小时前
给Miniconda换源,让包下载更迅速
开发语言·python
LuminousCPP7 小时前
C 语言集中实践全记录:顺序表 + 单链表原理实现与通讯录项目实战【附可运行源码】
c语言·开发语言·数据结构·经验分享·笔记
兰令水7 小时前
hot100【acm版】【2026.7.13打卡-java版本】
java·开发语言·数据结构·算法·leetcode·面试
铅笔侠_小龙虾7 小时前
Rust 学习(4)-函数与注释
开发语言·学习·rust