顺带一提

DayMark icon
左上角的缺口其实是 AI 生成的瑕疵,但挺好看的就留着了

DayMark 是一款 macOS 原生照片日期水印工具:把一整个文件夹的照片导入进来,批量加上类似胶片相机 / 复古数码相机的日期戳,然后直接送进家用照片打印机。

它的核心目标很简单:让「给照片加日期水印并打印出来」这件事变得顺手、稳定、可控。数字导出也保留,但 DayMark 首先是为纸质照片而设计的。

原图字节永不修改。DayMark 只读取原图,渲染带水印的新图用于导出或打印。

功能

独特之处

为打印而生

DayMark 不是一个通用图片编辑器。它关心的是一件更具体的事:照片已经拍好了,现在你想把它们带着日期戳打印出来。

因此它内置了常见照片纸比例,预览会按照目标纸张比例显示裁切结果,打印路径也会按纸面处理横竖图、缩放和留白问题。你不需要先导出、再打开别的软件、再手动排版。

每张照片都有自己的水印配置

很多批处理工具只有一套全局水印设置。DayMark 则允许每张照片保留自己的水印样式:某张照片可以放右下角,另一张可以改成左上角;某一组照片可以批量改颜色或字号。

多选编辑时,如果选中的照片参数不一致,界面会显示 mixed 状态;一旦你输入新值,就会把该字段统一应用到所有选中照片。

胶片日期戳,而不是普通文字叠加

DayMark 的默认效果是复古日期戳:7-segment 字体、胶片红、水印外发光、短边比例字号。字号按照片短边比例计算,而不是固定 px,因此不同尺寸照片打印出来时视觉大小更一致。

原图安全

DayMark 不会改写你的原始照片。导出和打印都走独立渲染流程:

  1. 读取原图
  2. 解析 EXIF、方向、日期等信息
  3. 按需要裁切和旋转
  4. 绘制日期水印
  5. 输出新图或送入打印流程

系统要求

DayMark 使用 SwiftUI、AppKit、ImageIO、Core Graphics、CoreText、NSPrintOperation 和 UniformTypeIdentifiers 构建,不依赖第三方库。

使用方式

  1. 打开 DayMark
  2. 拖入照片或选择一个照片文件夹
  3. 在左侧列表选择照片
  4. 在右侧检查器调整日期水印
  5. 按需要开启裁切并选择照片纸比例
  6. 点击「打印」或「导出」

常用快捷键:

快捷键 功能
⌘O 添加文件
⇧⌘O 添加文件夹
⌘P 打印
⌘E 导出
⌘, 设置
⌘⌫ 从列表移除
⇧⌘⌫ 清空列表
S / L 显示或隐藏左侧列表
I / E 显示或隐藏右侧检查器
F 专注模式
W 缩放窗口

构建

open DayMark.xcodeproj

在 Xcode 中选择 DayMark scheme,然后运行即可。

也可以用命令行构建:

xcodebuild -project DayMark.xcodeproj -scheme DayMark -configuration Debug build

项目结构

DayMark/
├── DayMarkApp.swift          # App 入口、Settings scene、菜单命令
├── ContentView.swift         # 主窗口、工具栏、三栏布局、导出 / 打印流程
├── Models/                   # PhotoItem、WatermarkConfig、AppSettings 等
├── Views/                    # 照片列表、预览、检查器、设置页
├── Services/                 # EXIF、导入、渲染、打印画布、字体注册
└── Fonts/                    # 内置日期水印字体

设计原则

开源许可

当前仓库尚未声明开源许可证。发布前建议补充 LICENSE 文件。

#daymark