Skip to content

v1.2.1

Choose a tag to compare

@github-actions github-actions released this 22 Aug 04:45
· 40 commits to main since this release

📷 PhotoMark 更新日志 (Changelog)

本文档记录了 PhotoMark 各版本的主要更新、修复与体验改进。


🚀 [v1.2.1] - 2026-08-22

🐛 缺陷修复 (Bug Fixes)

  • 🖼️ 修复空状态白色矩形:未导入任何照片时不再显示默认 300×150 的空白画布;预览容器会在无照片时隐藏,选择照片后自动显示。

🚀 [v1.2.0] - 2026-08-22

✨ UI 与交互改进 (UI & Experience)

  • 🧩 模板可视化卡片:经典底栏 / 画廊 / 拍立得 / 极简微章现在使用 SVG 缩略图预览,选中态更直观;
  • 📂 检查器折叠:右侧「相框设置」各分组支持点击标题折叠/展开,长面板不再只能整页滚动;
  • 👁 原图对比:预览工具栏新增「👁 原图」按钮,按住即可查看未经相框处理的原始照片;
  • 🔍 预览平移:放大超过 100% 后,可直接在预览区拖拽平移画面;
  • 🎞️ 队列拖拽排序:左侧照片列表可拖拽调整顺序,缩略图摘要中显示分辨率;
  • 🔔 通知分级:Toast 区分成功/错误/信息三种样式,并支持连续提示自动刷新;
  • 🌗 跟随系统主题:主题按钮支持 深色 → 浅色 → 跟随系统 循环切换;
  • ✍️ 字体族选择器:新增 Inter/系统/衬线/等宽字体族选择,并按配置持久化。

🚀 [v1.1.1] - 2026-08-22

✨ 功能新增与优化 (Features & Improvements)

  • 🎨 自定义背景色入口:新增「自定义颜色」背景选项,修复了代码支持但界面无法选中的断点;
  • 💾 配置持久化:相框模板、质感、Logo、参数显示、导出设置(格式/画质/文件名模板)现在会自动保存,重启后恢复;
  • 📝 文件名模板:导出支持 {filename} / {model} / {make} / {lens} / {date} / {index} / {width} / {height} 变量,默认 {filename}_framed;
  • 🗂️ 批量导出防覆盖:输出目录存在同名文件时自动追加 (1)、(2)…,避免互相覆盖;
  • 🖥️ 浏览器预览模式:非 Tauri 环境可直接通过文件选择器/拖拽导入 JPG/PNG/WebP,并在页面内解析 EXIF、预览和导出(工作区已有改动,随本版本纳入)。

🐛 缺陷修复 (Bug Fixes)

  • 🧠 批量导出内存优化:改为逐张渲染、逐张写盘,避免将所有全尺寸 base64 一次性驻留内存;
  • ❌ 取消与失败明细:批量导出支持中途取消,失败照片会列出文件名与错误原因(前 8 条);
  • 📷 TIFF 支持真实落地:桌面端补齐 TIFF/TIF 解码支持,README 明确浏览器模式仅支持 JPG/PNG/WebP;
  • 🎞️ 拍立得背景修复:深黑与自定义背景色在拍立得模板中正确生效。

🚀 [v1.1.0] - 2026-08-18

✨ 功能新增与优化 (Features & Improvements)

  • 🎛️ 自定义焦距显示模式:
    • 新增「焦距显示方式」配置项,支持三种呈现模式:
      • 镜头实际物理焦距(默认):忠实还原镜头本身的物理光学焦距(如 35mm、50mm);
      • 35mm 等效焦距:展示按传感器画幅换算后的 35mm 全画幅等效焦段(如 52mm);
      • 两者同时显示:当实际焦距与等效焦距不同时,合并呈现为 35mm (等效 52mm);若相同(全画幅)则自动精简为单一焦距。
  • ✍️ 全面升级自定义签名与拍摄时间排版:
    • 画廊相框 (Gallery Border):完整接入自定义签名与拍摄时间,自适应居中双行排版。
    • 拍立得即显 (Polaroid Instant):重构底部排版,左侧支持显示第 3 行手写/印刷签名(✍️ Photo by Alex);右侧支持同时呈现品牌矢量 Logo 与复古胶片等宽时间戳,彻底解决此前有 Logo 时时间被覆盖的问题。
    • 经典底栏 (Classic Bottom Bar):右侧副信息支持同时展示拍摄时间与自定义签名(Photo by Alex • 2026.08.18 16:30:20)。
    • 极简微章 (Minimal Badge):水印胶囊同步支持同时挂载签名与拍摄时间。
  • 🖼️ 效果演示样张嵌入:
    • 项目根目录新增 docs/assets/ 静态资源库,并在 README.md 核心特性下方嵌入高清横/竖构图实拍演示样张。

🐛 缺陷修复 (Bug Fixes)

  • 修复 APS-C 焦距换算错误:
    • 修复读取 APS-C 画幅照片时焦距被强制乘以 1.5 转换系数的 Bug,默认优先展示镜头标称实际光学焦距。
  • 纯净排版与品牌兜底优化:
    • 移除无相机制造商信息时强制兜底为索尼 Logo 的逻辑,对于无 EXIF 或非相机来源图片自动隐藏 Logo 与分割线;
    • 移除机身型号为空时多余的 'Camera' 占位文字。

🚀 [v1.0.1] - 2026-08-18

🐛 缺陷修复 (Bug Fixes)

  • 解决 AppImage 独立运行白屏与连接错误:
    • 修复脱离开发环境独立启动 AppImage 时出现的 Could not connect to localhost: Connection refused 错误。
    • 重构打包构建管线,统一采用 yarn tauri build --no-bundle,将前端 HTML/CSS/JS 与 SVG 矢量资源完整内嵌至 Rust 原生二进制内部,实现 100% 离线自包含运行。

✨ 功能新增与优化 (Features & Improvements)

  • 🪟 全平台 CI/CD 自动化构建:
    • 接入 GitHub Actions 多平台矩阵,自动构建并发布 Linux 通用 AppImage(photomark-linux-x86_64.AppImage,仅 4.8MB)与 Windows 安装包(PhotoMark_1.0.1_x64-setup.exe 与 MSI)。
  • 🖼️ 原画无损画质直通 (Master Export):
    • 彻底去除中间二次有损压缩环节,直接流式读取未解压的原始高分辨率照片数据。
    • 支持 PNG(100% 逐像素点对点数学无损) 与 JPEG 100% 满品质 原画输出。
  • 🎨 自研多级金字塔高斯毛玻璃引擎:
    • 实现纯 TypeScript 3-Pass 快速卷积高斯模糊算法,突破 Linux WebKitGTK 下 Canvas 硬件滤镜限制,输出深邃通透的真毛玻璃背景。
    • 支持毛玻璃模糊强度(15 ~ 150)实时滑动调节。
  • 🔍 全局 UI 缩放与多屏适配:
    • 顶部导航栏新增界面自由缩放控件(80% ~ 150%),完美适配 HiDPI 2K/4K 视网膜大屏与轻薄本。
  • 🌓 深浅双色主题与交互调优:
    • 修复深色模式下下拉选择框 <select> 与 <option> 的字体对比度。
    • 每个调节滑块均配有独立 ↺ 恢复默认值按钮与全局重置全部参数按钮。
    • 导入区域与选择框移除已不适用的 RAW 扩展名提示。

🌟 [v1.0.0] - 2026-08-18

初始发布 (Initial Release)

  • 基于 Tauri 2.0 + 纯 Rust 图像内核 + 现代化前端 净室重构。
  • 内存占用仅 25MB ~ 30MB,极速秒开。
  • 纯 Rust kamadak-exif 解析相机机身、镜头、曝光三要素与拍摄日期。
  • 内置 4 大相框模板(经典底栏、画廊相框、拍立得即显、极简微章)。
  • 内置 20+ 款主流相机品牌矢量 Logo 自动匹配。
  • 基于 Rust Rayon 多核并行批量导出与实时进度条。
  • 采用 GNU General Public License v3.0 (GPLv3) 开源协议,并附加品牌商标免责声明。

Full Changelog: v1.2.0...v1.2.1