GitHub 项目主页: Fovelle
前言
Fovelle 是我基于 qView 且专为 macOS 设计的一款图片浏览器。各位可能好奇,在已经有 qView 、其他一堆第三方图片浏览器以及系统内置的 Preview App 的情况下,为什么还要再做一个,原因有以下几点:
- 很多第三方图片浏览器(包括我尝试过的不少 GitHub 开源项目)的 UI 和性能简直是一坨。拿 XnViewMP 来说,其 UI 既老旧又繁杂,缩放、拖动图片的帧率过低,有明显的掉帧感,且不支持 HDR 渲染。
- qView 的 UI 美观简洁,缩放、拖动图片的性能不错,但 HDR 渲染、预加载机制存在严重缺陷,且很多 issue 长期得不到修复。跨平台既是它的优势也是它的劣势,这导致它无法针对 macOS 进行优化。
- 系统内置的 Preview App 自然是图片浏览器的质量标杆,但它并非完美无缺,例如打开某些 RAW DNG 图片不显示 HDR 效果(这还是 iPhone 拍摄出来的),而且它并非是为浏览图片而设计的(易用性严重不足),也无法扩展支持的格式(例如 EPS 格式被官方主动移除了)。
基于上述种种原因,Fovelle 诞生了。我的目标是实现一款轻量、高效和易用的图片浏览器,就我个人的标准而言已经实现了这一目标,但还有待各位用户亲自检验。
目前 Fovelle 已发布正式版 v1.0.0 ,欢迎安装使用。如果你觉得好用,帮忙点个 star ,并推荐给身边的人。
功能特性
主要特性:
- 支持大多数 RAW 格式。
- 支持 RAW 格式和非 RAW 格式的 HDR 渲染,亮度平滑提高或降低。
- 支持 EPS 和 SVG 格式的矢量化渲染,最大缩放比例 6400%。
- 图片的缩放与拖动极其流畅。
- 改进的预加载机制。
- 支持浅色和深色模式,可自动切换。
- 支持丰富且可自定义的键鼠快捷操作。
其他特性:
- 支持 Esc 键关闭窗口或退出 App (我认为对于一款图片浏览器而言非常方便的功能,但貌似大多不支持)。
- 支持以 1:1 比例显示小图。
- 窗口左右两侧提供悬浮导航按钮,自动显示或隐藏,浅色背景和深色背景采用不同按钮样式以确保始终可见。
- 按需显示垂直滚动条和水平滚动条。
- 集成 Ghostscript ( EPS 格式的解释器),用户无需手动安装 Ghostscript 就能打开 EPS 文件。
- 支持从 URL 打开网络图片。
- 支持逐帧播放动图(例如 GIF )、调整速度、保存当前帧。
- 支持幻灯片播放模式。
UI 截图
浅色模式:

深色模式:

性能对比 (粗略统计)
|
图片拖动帧率 |
图片 1 冷加载耗时 |
图片 2 冷加载耗时 |
图片 2 HDR 渲染 |
|---|
XnViewMP |
目测 30FPS 左右 |
12.0s |
1.2s |
否 |
qView |
120FPS |
12.0s |
2.2s |
是,但失真 |
Preview App |
120FPS |
20.0s |
1.4s |
是,但迅速退化为 SDR |
Fovelle |
120FPS |
12.0s |
1.2s |
是 |
注:
- 图片 1 为分辨率 23094x31390 、大小 1.39GB 的 PNG 图片。
- 图片 2 为分辨率 8064x6048 、大小 61.5MB 的 RAW DNG 图片(由 iPhone 15 Pro 拍摄)。
后记
如果不是对图像处理这块特别熟悉或者感兴趣的,建议不要自行修改代码,有啥问题直接提 issue 就行,我会及时响应。我做这个项目的感受就是,图像处理的各种问题真的是又细微又复杂,我只有不到 20%的时间在实现功能,其余时间都在改 bug 。这种项目能让你深切体会什么叫“牵一发而动全身”和“按下葫芦浮起瓢”,哪怕加个滚动条都能引发一系列 bug ,这不是一句“解耦”就能解决的事情。