本项目由 AI 智能体 AA(aardio autos) 全自主开发完成(包含全部代码、界面、文档)。
WinRimage 是一个基于 aardio 和 rimage 的 Windows 图像转换 GUI。它把“单张图像调参预览”和“多文件批处理”拆成两个独立工作区:单图页专注于看效果,批量页专注于管理队列和任务结果。
项目已附带官方 rimage v0.13.0 Windows x86_64 MSVC 发行版(res/rimage.exe),打开工程即可使用;上游许可证文件也随二进制保存在 res/。源码和发布配置不依赖开发者本机的绝对路径。
aardio 范例自带了一个更轻量的图像压缩工具:「aardio 工具 » 图像 » JPEG 压缩转换」,基于 gdip 不依赖第三方组件
适合只处理一张图片,或先反复调整参数再处理:
- 大尺寸原图预览;
原图 / 输出预览视图切换;- 生成真实编码输出预览,而不是只用 GDI+ 模拟;
- 显示文件名、尺寸、输入大小和输出状态;
- 输出格式、质量、尺寸、缩放方向和缩放算法;
- 颜色量化与颜色抖动;
- 从剪贴板读取图片;
- 将生成的输出图片复制到剪贴板;
- 直接处理当前图片并显示完成结果。
适合统一规则处理多个文件或目录:
- 文件/文件夹添加、拖放、移除和清空;
- 自动过滤非图像文件并按规范化路径去重;
- 队列显示文件名、输入大小和逐文件状态;
- 统一设置输出格式、质量、尺寸、量化、抖动、输出目录等规则;
- 异步处理、取消、进度和成功/失败摘要;
- 双击队列项,或点击“在单图页打开”,切换到单图页查看和处理;
- 批量页不放预览和剪贴板操作,避免与队列任务互相干扰。
- 拖入一个支持的图像文件:载入单图页并停留在单图处理;
- 拖入多个图像文件:加入批量队列并切换到批量处理;
- 拖入文件夹:递归扫描支持的图像并切换到批量处理;
- 拖入内容如果没有有效图像文件,不会改变当前工作区。
“原尺寸”表示不发送 --resize,保留输入像素尺寸。其他尺寸模式会转换为 rimage 的参数:
- 宽度、高度:保持比例,以指定边为基准;
- 最长边、最短边:适合横竖图混合批处理;
- 百分比、倍数:按比例缩放;
- 固定尺寸:使用
宽x高; - 缩放算法:
lanczos3、nearest、box、bilinear、hamming、catmull-rom、mitchell; - 缩放方向可限制为仅缩小或仅放大。
- 量化程度:减少图像颜色调色板复杂度,不等同于编码质量;
- 颜色抖动:在量化时帮助减轻色阶断层;
- 抖动必须和量化一起使用,范围为 1–100;
- 关闭量化时,GUI 不会发送 quantization/dithering 参数。
编码器能力不同:无损或不支持质量的编码器会自动禁用质量输入,避免发送无效参数。当前界面包含:
mozjpeg、jpeg、webp、avif、png、oxipng、jpeg_xl、qoi、ppm、farbfeld。
- 执行前生成计划,检查输入存在性、重复输入、输出冲突和已有文件;
- 默认输出到独立的
output目录,不默认覆盖输入或已有输出; - GUI 不直接拼接命令行,参数和安全检查由
process.rimage统一负责; - 任务在独立线程中运行,界面保持响应,并支持取消;
- bitmap、精确预览临时目录和任务共享状态在替换、完成或关闭时释放。
使用 aardio 开发环境打开 default.aproj,或直接运行工程中的 main.aardio。工程默认从 res\rimage.exe 启动内置的官方 rimage v0.13.0。
如需使用其他版本,可设置环境变量 WINRIMAGE_RIMAGE_EXE 为本机 rimage.exe 的完整路径;环境变量优先于工程内置文件。程序会检测可执行文件,缺失、启动失败和参数安全检查失败时都会显示具体原因与路径。
WinRimage/
├─ main.aardio 主窗口、工作区路由和选项卡壳层
├─ forms/
│ ├─ single.aardio 单图处理页
│ └─ batch.aardio 批量处理页
├─ lib/
│ ├─ process/rimage.aardio rimage 参数、安全计划、同步/异步任务
│ └─ rimage/
│ ├─ guiModel.aardio 队列、状态、配置转换和列表模型
│ ├─ uiValues.aardio 两个页面共用的控件值读取与联动
│ ├─ preview.aardio 快速预览与精确预览
│ └─ clipboard.aardio 剪贴板图像读写
├─ test/ 无头模型测试
├─ docs/ 库说明文档
├─ res/ 内置 rimage.exe 与上游许可证
├─ LICENSE
├─ .editorconfig
└─ .gitignore
当前已验证:
| 项目 | 结果 |
|---|---|
| GUI 模型 | 11/11 |
| GUI 配置/量化契约 | 8/8 |
| rimage 处理模型 | 12/12 |
| 预览模型 | 13/13 |
| 剪贴板模块 | 3/3 |
| 工程入口 | 1/1 |
| 自动测试合计 | 48/48 |
| 主壳与两个子页面加载 | 通过 |
| 单图真实输出预览 | 通过 |
| 批量真实转换(2 个测试图像) | 2/2 成功 |
测试文件包括 test/test_gui_config.aardio,用于验证尺寸、缩放算法、量化和抖动参数契约。
测试图像:
images/a.jpg
images/b.jpg
