跳到正文
发现
移动应用设计创意

SpektraLab Android:手机胶片模拟引擎

把 SpektraLab 胶片与相纸模拟引擎移植到 Android 的 App,RAW 输入、物理建模成片输出。

admin
发布于 2026-11-05
浏览
3
访问
0
下载
0
版本
v1.5.0e
平台
Android
该作品还没有经过官方审核。访问演示、下载或复制命令前,请自行确认来源可信。

详细介绍

项目简介

SpektraLab for Android 是把上游 SpektraLab 的胶片 / 相纸模拟引擎(Vulkan 后端)移植到 Android 的社区版本。打开一张 RAW,选好胶片与相纸,几秒内得到一张按物理过程建模的照片:81 个波长穿过染料层,颗粒、光晕与成色剂耦合按画幅的微米尺度计算,而不是查 LUT。引擎来自上游 assist/vulkan-engine-1.3.4(commit 445e314)。

主要功能

  • RAW 解码基于原生 LibRaw(Panasonic GH5 .RW2 实测)
  • 25 款胶片 + 9 款相纸,运行时从资源目录读取
  • 预览约 1 秒(长边 2048);导出三档:长边 2048 / 3400 / 全尺寸,受限设备会标注上限
  • 16.5 MP 全尺寸渲染约 8.2 s(SM8735 + Adreno 825 实测)
  • 颗粒、光晕、眩光三条强度滑杆
  • 物理画幅:135 / 半格 / XPan / 645 / 6×6 / 6×7 / 6×9 / 6×12 / 6×17
  • 导入时自动配光(spk_solve(both));导出使用原生 libjpeg 写盘,不经 Bitmap
  • 支持直接替换当前照片,无需重启
  • 失败时返回 E-xxxx 错误码,便于反馈

安装与使用

安装包可从官网 spektralab.workshop.skin 或其 /download 页面、以及 GitHub Releases 获取。

导入方式:点击「导入」进入相册;长按「导入」可选择「文件(RAW)」或「按原始尺寸导入」。选好胶片、相纸与画幅后先预览,再选择导出档位。

自行构建需要 Termux(aarch64)、Android SDK 36 / NDK 28 与上游引擎源码,仓库不含约 30 MB 的二进制资源。

注意事项

  • 这是社区移植,不是上游官方版本。
  • 像素数超过 16,776,960 时仍有风险(图像顶部约 200 行可能为未初始化显存),当前用导入时长边上限 4700 px 规避。
  • 对比度蒙版(contrast_mask)在上游 Vulkan 后端未移植,后端能力里显式拒绝。
  • 片边、日期后背、半格拼接、几何裁剪、批量导出等引擎已实现,但 UI 尚未接入。
  • 许可:代码 GPL-3.0-or-later;胶片与相纸配置 CC BY-SA 4.0。

本作品整理自 GitHub 开源项目 SAINTTaiYi/SpektraLab-Android,原作者 @SAINTTaiYi,许可证 GPL-3.0。中文介绍由 AI 根据项目 README 整理,以原仓库为准。

更新记录

  1. v1.5.0e当前版本

    支持 50 MP 全尺寸与 77 MP 画布片边导出,胶片与冲印链改为按带驱动;修复导出花屏、片边条码偏移与越界崩溃、撤销与 EXIF 丢失;新增暗黑·黑橙主题、RGB 直方图与竖幅裁切。

评论