Skip to content

Repository files navigation

FramePair Collage

一款开源、本地优先的平板壁纸拼图软件。支持导入 1~2 张 PNG/JPG/WebP 图片,独立编辑横屏与竖屏裁剪,并导出一张高清 PNG、JPG 或 WebP 拼图。图片不会上传到服务器。

提供轻量 Windows 桌面版(Tauri)和浏览器版本,采用 MIT License 开源。

下载 Windows 安装版

下载 FramePair Collage v1.0.0(Windows x64,1.09 MB)

SHA-256:B96E26E0D20BA83235EB202AC1D7FB3DD37F5A596B9BEB8F981BCE6B9865451E

安装包未进行商业代码签名,Windows SmartScreen 可能显示“未知发布者”。

安装与运行

需要 Node.js 20 或更高版本(Windows PowerShell、命令提示符均可)。

npm install
npm run dev

终端会显示本地地址,通常为 http://localhost:5173。生产构建与本地预览:

npm run build
npm run preview

运行单元测试:

npm test

Windows 桌面版(小体积 EXE)

桌面版使用 Tauri 2 和系统 WebView2,不携带完整 Chromium。

第一次配置打包环境

需要 Windows 10/11、Node.js 20+,并安装以下两个组件:

  1. Rust MSVC 工具链:

    winget install --id Rustlang.Rustup -e
  2. Visual Studio 2022 Build Tools。在安装器中勾选“使用 C++ 的桌面开发”,或使用:

    winget install --id Microsoft.VisualStudio.2022.BuildTools -e --override "--wait --passive --norestart --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended"

安装完成后关闭并重新打开终端,让 cargo 命令进入 PATH。

每次打包

在项目目录执行:

npm install
npm run desktop:build

生成文件:

  • 可分发安装包:src-tauri/target/release/bundle/nsis/FramePair_版本号_x64-setup.exe
  • 免安装主程序:src-tauri/target/release/framepair.exe

仅调试桌面窗口时运行:

npm run desktop:dev

目标电脑需要 WebView2;Windows 10/11 通常已预装,缺少时安装器会联网安装。首次 Rust 构建需要下载依赖并花费几分钟,之后会使用 src-tauri/target/ 缓存显著加快。不要将这个缓存目录提交到 Git。

发布新版本

修改 package.jsonsrc-tauri/Cargo.tomlsrc-tauri/tauri.conf.json 中的版本号,重新执行 npm run desktop:build。如果更新应用图标,先运行:

npm run tauri icon src-tauri/icon.svg

使用方式

  1. 选择预设分辨率或输入自定义尺寸。
  2. 点击上传区或将图片拖入,最多两张。
  3. 在横屏、竖屏标签之间切换,拖动图片并通过滚轮、双指或滑块缩放。
  4. 默认会像拼图软件一样无缝拼接:左右排列自动等高,上下排列自动等宽,不拉伸且不产生黑色空白;也可以按需添加间距、外边距、背景色、圆角和标签。
  5. 选择格式、质量和输出缩放后,点击“导出并下载”。

依赖说明

  • React:组件化界面与状态管理。
  • Vite:本地开发服务器和生产打包。
  • TypeScript:数据结构和画布逻辑的类型安全。
  • Tailwind CSS:基础样式管线;界面细节使用项目 CSS 定制。
  • lucide-react:轻量、一致的界面图标。
  • Vitest:尺寸、cover/contain 和导出尺寸计算测试。

项目使用浏览器原生 Canvas 完成编辑预览与原始像素导出,未引入大型画布框架。设置会保存到 localStorage,图片文件本身不会保存。

主要目录

  • src/components/:尺寸、上传、图库、裁剪器、预览、布局和导出面板。
  • src/hooks/useWallpaperEditor.ts:编辑状态、图片生命周期与方向切换逻辑。
  • src/lib/cropMath.ts:纯函数尺寸及裁剪计算。
  • src/lib/canvasRenderer.ts:高清拼图绘制。
  • src/lib/exportImage.ts:文件编码与下载。
  • src/types/wallpaper.ts:完整 TypeScript 数据类型。

浏览器建议

推荐最新版 Chrome、Edge 或 Firefox。200% 超大尺寸导出会占用较多内存;若浏览器无法分配 Canvas,界面会显示明确错误,可降低输出缩放后重试。

About

FramePair Collage:本地优先的开源平板壁纸拼图软件,支持横竖屏独立裁剪与轻量 Tauri Windows 桌面版

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages