色彩来自光谱
你的照片先被还原成光,曝光到胶片的三层染料上,再印到相纸上并扫描。色彩会像在真实胶片上那样偏移,因为它们经历的是同样的过程。
NEGS ▸ 网页版 ▸ MAC ▸ WINDOWS ▸ LINUX
Negs 用物理方式模拟胶片来处理你的照片:染料、相纸、高光周围的光晕,还有颗粒。就在浏览器里打开一张照片,看着它慢慢变化。
基于 Andrea Volpato 的 spektrafilm ▸
02 ▸ 前后对比
RAW · Apple 默认
Negs · Portra 400
拖动对比。俯拍冲浪者:左边是 macOS 默认显示的 RAW,右边是 Negs 用 Kodak Portra 400 冲印的效果。
03 ▸ 应用
可以在浏览器里用,也有 Mac、Windows 和 Linux 原生应用。选一款胶片,选一款相纸,拖动滑块,画面随手而变。
04 ▸ 胶片原理
Negs 不靠猜胶片长什么样。它沿着整条链路追踪光线——胶片、放大机、相纸、扫描仪——每一步都使用这款胶片公布的数据。
你的照片先被还原成光,曝光到胶片的三层染料上,再印到相纸上并扫描。色彩会像在真实胶片上那样偏移,因为它们经历的是同样的过程。
明亮的光源周围会渗出温暖的红色光晕,就像光在真实胶片里反射回来那样。路灯、镀铬上的阳光、烛火。
颗粒在每一层染料中分别模拟,取决于胶片在该处的密度。它存在于画面之中,而不是叠加在上面。
显影化学会在影调交界处强化边缘、加深色彩,带来胶片特有、数码缺少的清脆感。
相纸也可以选。相纸对画面的影响不亚于胶片,和真实的冲印店一样。
把底片印到相纸上,得到经典的冲印店效果;或者跳过相纸,直接扫描底片。
05 ▸ 边框
最后加上干净的白边、细线框、黑色胶片边,或完整的 35mm 片框:连齿孔一起,印着这款胶片自己的片边字。
06 ▸ 速度
拖动滑块,照片紧跟你的手:拖动时,Negs 只冲洗屏幕上显示的像素。松手后,GPU 会以全分辨率冲洗整张照片,颗粒和光晕都是真实尺寸。导出的就是这一帧,所以导出瞬间完成。
拖动任何滑块,画面都会按屏幕显示的尺寸实时变化。
2400 万像素不到一秒,6000 万像素约两秒。
导出的就是你正在看的这一帧,无需等待。
一张 Leica Q3 照片,以全分辨率用 Kodak Gold 200 和 Portra Endura 冲洗,机器为 M1 Pro、32 GB 内存的 MacBook Pro。时间只计冲洗本身,不含打开和保存文件;内存为各程序的最高占用。Negs 和 spektrafilm-rs 使用 GPU;Python 版没有 GPU 路径。2400 万像素时:Negs 为 0.9 秒、2.1 GB,spektrafilm-rs 为 1.3 秒、3.6 GB,Python 版为 43 秒、13.7 GB。 全部性能测试(英文),包括 64 位 Reference 导出及其 Use less memory 选项。
07 ▸ 胶片
Kodak、Fujifilm、Ilford、Agfa、CineStill、Harman 和 Lomography 的胶片名称是其各自所有者的商标。Negs 与这些公司没有关联。
08 ▸ 动态演示
09 ▸ 为什么不用 LUT
LUT 逐个像素地查表替换颜色。真实的胶片不是这样工作的:光会在乳剂中扩散,高光会发出光晕,颗粒随曝光变化,相邻的影调还会相互牵引。Negs 把这些都模拟出来,所以在 LUT 容易露馅的地方,比如肤色、霓虹、深暗部和明亮的天空,效果依然站得住。
Ektar 100 LUT
Negs · Ektar 100
拖动对比。两边都是 Kodak Ektar 100:左边是胶片 LUT,右边是 Negs。
10 ▸ 致谢
Negs 核心的胶片模型来自两个开源项目,一半以上的胶片则来自第三个。Negs 在它们之上做出了快速的应用:既能在浏览器里用,也有 Mac、Windows 和 Linux 原生版。
11 ▸ 下载
免费 · Mac、Windows 和 Linux
安装包托管在 GitHub 上,在中国大陆下载可能较慢。也可以直接使用网页版,无需下载。
macOS 14 Sonoma 或更高版本 · Apple 芯片与 Intel
打开下载的 .dmg,把 Negs 拖进“应用程序”文件夹。
双击 Negs。macOS 会提示无法验证该应用,不让它打开。点“完成”(不要点“移到废纸篓”)。
前往“系统设置”→“隐私与安全性”,向下滚动,在关于 Negs 的提示旁点“仍要打开”。输入密码,然后点“打开”。
为什么要多这一步?Negs 没有经过 Apple 公证(公证需要付费开发者账号),所以第一次需要你手动允许。之后 Negs 会自动更新:使用 Negs → Check for Updates…。
Windows x64 · 实验版:与 Mac 版相同的胶片引擎和 GPU 预览
它会为当前 Windows 账户安装,并把 Negs 加入“打开方式”,不会更改默认的照片应用。
点“更多信息”→“仍要运行”。Negs 没有代码签名(签名需要付费证书)。
解压便携版 .zip,运行 Negs.exe。请把辅助程序和 data 文件夹放在它旁边。
Windows 版暂不支持自动更新:下载新版安装程序,直接覆盖安装即可。
x86_64 · 原生 GTK4 应用 · 有 Vulkan 驱动时用 GPU 加速,没有则使用 CPU
适用于任何装有 Flatpak 的发行版。下载上面的安装包,然后在下载文件夹中运行:
flatpak install --user negs-0.11.0-linux-x86_64.flatpak
如有需要,Flatpak 会从 Flathub 下载 GNOME 运行时。Negs 在沙盒中运行,只能看到你打开的照片和文件夹。用 Open Folder… 可以在胶片条里查看整个文件夹。更新时,用同样的方法安装新版安装包。
单个文件,适用于 Ubuntu 24.04 或更新版本、当前的 Fedora、Arch 等发行版。下载后,在下载文件夹中赋予执行权限并运行:
chmod +x Negs-0.11.0-x86_64.AppImage
./Negs-0.11.0-x86_64.AppImage
无需安装。如果系统没有 FUSE,在运行命令后加上 --appimage-extract-and-run。更新时下载新版 AppImage 即可。设置和预设保存在 ~/.config/negs。
也可以把原生软件包安装到 ~/.local,无需 root。这条命令会下载最新版本并校验 SHA-256。 如果愿意,可以先看看这个脚本:它很短。
curl -fsSL https://raw.githubusercontent.com/noahhaasis/negs/main/linux/get-negs.sh | sh
需要 glibc 2.44、GTK 4.16+、libadwaita 1.6+、OpenBLAS 和 Vulkan 驱动。Omarchy 上通常都已具备;其他系统可运行: sudo pacman -S --needed gtk4 libadwaita openblas vulkan-icd-loader。glibc 较旧的发行版请改用 Flatpak 或 AppImage。
运行 negs,或在启动器中找到它。更新时再次运行这条命令即可。卸载: python3 ~/.local/share/negs/install.py --uninstall
Flatpak 版的设置和预设单独保存在 ~/.var/app/io.github.noahhaasis.negs。要在 Flatpak 版和其他版本之间迁移预设,先在一边导出,再在另一边导入。
免费。可以免费下载,并以 GPL-3.0 许可开源(见许可证)。
对于没有经过公证(Apple)或代码签名(Windows)的应用,两个系统都会显示这个警告,而公证和签名都需要付费账号或证书。源代码在 GitHub 上,任何人都可以检查。按照 Mac 或 Windows 的安装步骤操作即可:只需允许一次。
大多数相机的 RAW 文件,以及 JPEG、TIFF 和 PNG。Mac 版使用 Apple 的 RAW 支持,并配有备用解码器;Windows 和 Linux 版使用 rawler 解码器。
可以,只要是运行 macOS 14 或更高版本的 Intel Mac。Negs 是通用应用,在 Intel 和 Apple 芯片上都原生运行。它主要在 Apple 芯片上开发和测试,如果在 Intel Mac 上发现问题,请提交 issue。
是的。Negs 把 spektrafilm 的胶片模拟做成了网页应用,以及 Mac、Windows 和 Linux 桌面应用,不需要 Python。它是基于 spektrafilm 的独立项目,不是官方应用。
不是。预设和 LUT 只是重新映射颜色。Negs 模拟的是胶片、相纸和光本身,所以光晕、颗粒和边缘效果才会真实。
有。网页版已支持简体中文:浏览器语言为中文时自动显示,也可以在“设置 › 语言”中切换。Mac、Windows 和 Linux 版目前仍是英文界面,中文版正在制作中。
任何较新的浏览器,打开 getnegs.com/try 即可:无需安装,照片也不会离开你的设备。桌面版支持:macOS 14 或更高版本(Apple 芯片与 Intel)、Windows x64(安装程序或便携版),以及 x86_64 Linux(Flatpak、AppImage 或原生 Arch/Omarchy 软件包)。