WINDER

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 画幅。

字段默认值说明
width3130整格扫描件宽度(像素)。必须为正
height2075整格扫描件高度(像素)。必须为正
dividerFallbackPx140检测失败时假定的黑条宽度。在默认尺寸下约合 1.6mm。允许为零

width 同时决定了 Winder 据以推算的「每毫米像素数」(对着 36mm 的画幅)。零或负数会被当作缺失,而不是一路带到 pxPerMm 里除出个零来——所以手滑一下,代价只是回到默认值,仅此而已。

output

字段默认值说明
quality95JPEG 质量。两档预设之一:95(高)或 80(中)
trimRebatetrue裁切后去除每帧四周的黑边

质量是两档预设而不是一个数字,因为 91 和 94 的差别在一张扫描件上没人看得出来,而「留住颗粒」和「留住体积」的差别看得出来。其他数字会被读成更接近的那一档,并在下次保存任何东西时把归档后的值写回去。

gear

上一卷新胶卷所用的胶片与机身,以目录 id 记录。人们会用同一台相机拍同一款胶片好几个月,所以下一卷新胶卷会从这个答案开始,而不是从一张空表格开始。

字段说明
film胶片目录 id,如 kodak-gold-200。上一卷选了其他时不存在
camera机身目录 id,如 pentax-17。同上

用 id 而不是名字:目录里消失的条目,就自然不再被记住。这个值在创建胶卷时写入,编辑胶卷时永远不写——编辑一卷旧胶卷是考古,不是在陈述相机里现在装着什么。

手动编辑

欢迎。Winder 读它认识的字段,其余用默认值,所以一处笔误的代价就是那一个字段,别的不受影响。整个文件都解析不了,就全线退回默认值,并在应用里下次改动时被干净地重写。

Winder 每次扫描都会重读这个文件,而扫描发生在应用每次回到前台的时候。在桌面上改过的扫描尺寸,就是手机下次打开后据以裁切的尺寸。

这里没有什么

任何关于应用而非照片的东西都留在设备上,存在系统的普通偏好设置里:

  • 主题与语言
  • 应用图标
  • 图库流显示几列——同读一座图库的手机和 Mac,各自保留自己的那一份
  • 开发者模式
  • 图库在哪,以及那个用来重新进入它的安全作用域书签。这一项无法存进图库,理由很明显:一张写着「仓库在哪」的字条,只能放在仓库外面

从旧版本升级

扫描尺寸、输出质量与记住的器材过去存在设备偏好里。升级后打开的第一座图库会以它们为种子,所以有人实测出来的扫描尺寸会被带过去,而不是悄无声息地被重置。

旧偏好永远不会被清除。如果那一刻你的图库恰好不可达——比如 iCloud 云盘还没挂载——种子仍在原处,等着下一座需要它的图库。

更新于 2026-08-06