settings.json
有些设置是关于应用的,有些是关于照片的。第二种住在这里,在图库根目录,所以它跟着图库走,并且在没有 Winder 的地方也能用文本编辑器读——和改。
{
"version": 1,
"scan": {
"width": 3130,
"height": 2075,
"dividerFallbackPx": 140
},
"output": {
"quality": 95,
"trimRebate": true
},
"gear": {
"film": "kodak-gold-200",
"camera": "pentax-17"
}
}
每一座图库在创建的那一刻就会拿到这个文件,内容是默认值——它是好奇的主人打开来看「Winder 到底记了些什么」的第一样东西,而一个非要等你改点什么才出现的文件,是没人知道它存在的文件。
scan
你的冲扫店或扫描仪如何交付一整格 35mm 画幅。
| 字段 | 默认值 | 说明 |
|---|---|---|
width | 3130 | 整格扫描件宽度(像素)。必须为正 |
height | 2075 | 整格扫描件高度(像素)。必须为正 |
dividerFallbackPx | 140 | 检测失败时假定的黑条宽度。在默认尺寸下约合 1.6mm。允许为零 |
width 同时决定了 Winder 据以推算的「每毫米像素数」(对着 36mm 的画幅)。零或负数会被当作缺失,而不是一路带到 pxPerMm 里除出个零来——所以手滑一下,代价只是回到默认值,仅此而已。
output
| 字段 | 默认值 | 说明 |
|---|---|---|
quality | 95 | JPEG 质量。两档预设之一:95(高)或 80(中) |
trimRebate | true | 裁切后去除每帧四周的黑边 |
质量是两档预设而不是一个数字,因为 91 和 94 的差别在一张扫描件上没人看得出来,而「留住颗粒」和「留住体积」的差别看得出来。其他数字会被读成更接近的那一档,并在下次保存任何东西时把归档后的值写回去。
gear
上一卷新胶卷所用的胶片与机身,以目录 id 记录。人们会用同一台相机拍同一款胶片好几个月,所以下一卷新胶卷会从这个答案开始,而不是从一张空表格开始。
| 字段 | 说明 |
|---|---|
film | 胶片目录 id,如 kodak-gold-200。上一卷选了其他时不存在 |
camera | 机身目录 id,如 pentax-17。同上 |
用 id 而不是名字:目录里消失的条目,就自然不再被记住。这个值在创建胶卷时写入,编辑胶卷时永远不写——编辑一卷旧胶卷是考古,不是在陈述相机里现在装着什么。
手动编辑
欢迎。Winder 读它认识的字段,其余用默认值,所以一处笔误的代价就是那一个字段,别的不受影响。整个文件都解析不了,就全线退回默认值,并在应用里下次改动时被干净地重写。
Winder 每次扫描都会重读这个文件,而扫描发生在应用每次回到前台的时候。在桌面上改过的扫描尺寸,就是手机下次打开后据以裁切的尺寸。
这里没有什么
任何关于应用而非照片的东西都留在设备上,存在系统的普通偏好设置里:
- 主题与语言
- 应用图标
- 图库流显示几列——同读一座图库的手机和 Mac,各自保留自己的那一份
- 开发者模式
- 图库在哪,以及那个用来重新进入它的安全作用域书签。这一项无法存进图库,理由很明显:一张写着「仓库在哪」的字条,只能放在仓库外面
从旧版本升级
扫描尺寸、输出质量与记住的器材过去存在设备偏好里。升级后打开的第一座图库会以它们为种子,所以有人实测出来的扫描尺寸会被带过去,而不是悄无声息地被重置。
旧偏好永远不会被清除。如果那一刻你的图库恰好不可达——比如 iCloud 云盘还没挂载——种子仍在原处,等着下一座需要它的图库。
更新于 2026-08-06