@qian-kun/image-converter
v0.1.1
Published
图片格式转换器,本地批量转换图片格式,支持 PNG/JPEG/WebP/BMP/ICO/GIF/AVIF 互转,逐个下载。
Readme
图片格式转换器(@qian-kun/image-converter)
QK 工具箱子窗口应用:本地批量转换图片格式,支持 PNG/JPEG/WebP/BMP/ICO/GIF/AVIF 互转,逐个下载。
功能
- 批量上传:点击或拖拽多张图片(PNG / JPG / JPEG / GIF / WebP / BMP / AVIF / ICO)
- 输出格式:PNG、JPEG、WebP、BMP、ICO、GIF、AVIF 共 7 种
- 全局目标格式分段控制器 + 逐行单独指定目标格式
- 质量调节(JPEG / WebP),其余格式无损或固定质量
- 文件列表实时展示:缩略图、原格式、像素尺寸、文件大小、状态徽章
- 全部转换 / 逐个下载(浏览器原生
<a download>) - 一键下载压缩包:把所有已转换文件打包为 ZIP(重名自动追加序号),基于 JSZip 本地打包
- 全程本地处理,无网络请求
开发
npm install # 安装依赖
npm run dev # 仅前端开发(Vite,默认端口 5173)
npm run build # vite build + 复制 icon.png 到 dist/
npm run pack # create-qk-app pack 打包为 .qkapp
npm run publish # 构建并发布到 npm技术说明
- 转换全在浏览器本地完成,依赖分层:
- Canvas 原生(
canvas.toBlob):PNG / JPEG / WebP - 手写编码器(纯 TS):BMP(BMP24)/ ICO(PNG 套 ICO 容器头)
- 第三方纯 JS 库 gifenc:GIF
- WASM 库 @jsquash/avif:AVIF(需
application/wasmMIME,QK 嵌入式服务器已支持) - 第三方纯 JS 库 JSZip:压缩包打包(动态加载)
- Canvas 原生(
- 输入解码使用
createImageBitmap(回退Image),兼容 AVIF / GIF 首帧等格式。 - 权限声明:仅
clipboard;下载走浏览器原生<a download>,无需额外权限。 - 窗口尺寸 720×720,可缩放、居中显示。
