先选相册
顶部平铺常用相册,一键切换;也能打开完整列表慢慢挑。点当前项就是取消选择 —— 不会被锁死在某个相册里。
大多数相机的顺序是「先拍一堆,回头再翻」。SnapIn 把顺序倒过来:目的地定在快门之前,整理这件事就自然消失了。
顶部平铺常用相册,一键切换;也能打开完整列表慢慢挑。点当前项就是取消选择 —— 不会被锁死在某个相册里。
快门永远可点。相机还没准备好时,应用会告诉你具体原因并自动重新准备,而不是让按钮变成按不动的灰色。
保存目标在快门瞬间就固化进这一张照片的任务里。照片直接落进指定相册,不用事后在几千张图里翻找。
这些不是功能清单上的勾,而是取舍的结果。每一条都对应一个具体的麻烦。
创建照片与加入相册在同一个 PhotoKit 事务里完成。中途换相册、退出应用、甚至相册被改名,都不会让照片进错地方。
4:3 画幅且不开水印时,原始图像数据零重编码直接入库 —— 不重新压缩,不损失任何一个像素。
自绘七段数码管字形,4 种字体、6 种复古色、4 个落点、0.8x~1.6x 大小与字间距。不引入任何第三方字体,也就没有字体授权问题。
1:1 / 16:9 不是把取景框裁掉:先对原始照片做中心裁切,再渲染水印。所以取景预览与最终导出完全一致。
档位圆钮由设备真实能力推导(0.5x / 1x / 3x …),不是写死的数字。手感按对数刻度统一,水平与竖直滑动每 pt 变化完全一致。
闪光灯、画幅、水印配置与目标相册都会记住。保存或渲染失败的任务会持久化到本机,可以重试 —— 绝不静默丢照片。
下面每一个开关都真实存在于应用里。预览里的数字不是图片,而是用与真机同一套七段几何实时绘制出来的 —— 你在这里看到什么,导出就是什么。
SevenSegmentStyle(widthRatio: 0.56, thicknessRatio: 0.115, spacingRatio: 0.16, rounded: false)
预览按真实比例渲染:水印高度 = 短边 × 2.2% × 尺寸倍率,右边距 4.5%,下边距 4%。真机照片为 12MP(4032 × 3024),水印的像素高度约为这里的 5 倍。
三种画幅共用同一条短边基准,所以切换画幅时取景区高度不变、下方操作区不会位移。下面三张图是同一张原片的真实中心裁切结果。
正方形。中心裁切后渲染水印。
中心裁切默认画幅。铺满取景区;关掉水印时零重编码直存。
默认宽幅。中心裁切,适合风景与视频素材。
中心裁切SnapIn 没有任何服务器。它调用的是 Apple 自己的框架:AVFoundation 取景、PhotoKit 存取相册、CoreGraphics 合成水印 —— 除此之外没有任何第三方代码。
想要细节的话,这里都是可以核对的:应用不依赖任何第三方库,所有渲染代码都在项目里。
SnapIn 使用了 iOS 26 的相机延迟启动能力:相册列表与相机会话并行准备,所以打开应用到能拍照的时间更短。把最低版本压到更早的系统,就必须放弃这部分启动速度。
可以。未选择目标时,照片只保存到系统照片图库 —— 这与把目标设为「照片图库」是同一件事。快门不会因为「没选相册」而被挡住。
4:3 画幅且关闭水印时,原始图像数据零重编码直接写入照片图库,不损失任何像素。开启水印或使用 1:1 / 16:9 时,需要一次合成与中心裁切,但整个管线只有一趟:解码、裁切、画水印一次完成,中间不会多产出一张全分辨率位图。
存进你在顶部选定的那个相册。如果按快门时没有选定目标,就存进照片图库。注意系统「最近项目」不一定立刻反映相册归属,直接打开目标相册查看更准确。
档位圆钮由设备真实的镜头推导,而不是写死的。没有超广角镜头的机型不会出现 0.5x;变焦上限按「最长物理镜头 × 5」封顶,与系统相机一致。
不会。保存或渲染失败时,这个任务会连同它的目标相册与水印配置一起持久化到本机,之后可以重试。SnapIn 不会静默丢掉任何一张照片。
不会。SnapIn 没有服务器,也没有第三方 SDK。唯一的例外是通过 TestFlight 参与内测时,Apple 会按其自身政策收集崩溃日志等诊断信息并分享给开发者 —— 这由 Apple 控制,与应用内代码无关。