100个版本
0.8.23 | 2024年7月29日 |
---|---|
0.8.19 | 2024年4月29日 |
0.8.17 | 2024年3月29日 |
0.8.6 | 2023年12月17日 |
0.2.3 | 2020年6月15日 |
#43 in 图像
每月 145 次下载
7MB
10K SLoC
一个无需多言的硬件加速图像查看器
Oculante的愿景是一个快速、不引人注目、便携的图像查看器,支持广泛的图像格式,并提供图像分析和基本编辑工具。
- 免费、无冗余、无广告、尊重隐私的开源应用程序
- 快速打开图像,快速启动
- 适用于Win、Mac、Linux、FreeBSD和NetBSD
- 支持广泛的图像和SVG格式
- 缓存图像以加快重新加载
- 可以正确显示不相关的通道(如果你的图像使用alpha和颜色通道以特殊方式编码数据)
- 允许您选择像素、显示位置和颜色值
- 提供基本的非破坏性编辑:裁剪、调整大小、绘画、对比度、HSV、旋转、模糊、噪声等
- 使用SIMD加速图像编辑
翻书
通过可配置的缓存,Oculante可以快速浏览图像序列:![截图](https://img.gs/czjpqfbdkz/full/https://raw.githubusercontent.com/woelper/oculante/71b688bcf9f1f7d953e23f42370c497504b3c20d/res/flipbook.gif)(图片宽度:800像素,高度:467像素)
检查
获取像素值和位置信息,具有精确选择:![截图](https://img.gs/czjpqfbdkz/full/https://raw.githubusercontent.com/woelper/oculante/71b688bcf9f1f7d953e23f42370c497504b3c20d/res/picker.gif)(图片宽度:800像素,高度:666像素)
网络
原始图像数据可以发送到Oculante,如果可能,将加载,无论格式如何。图像流将作为视频播放。您可以发送来自相机或无头系统(例如树莓派)的图像。![截图](https://img.gs/czjpqfbdkz/full/https://raw.githubusercontent.com/woelper/oculante/71b688bcf9f1f7d953e23f42370c497504b3c20d/res/net.gif)(图片宽度:800像素,高度:346像素)
正确显示颜色通道
图像可能包含被alpha通道掩盖的颜色信息。虽然存在,但由于通常在显示时将RGB值乘以A通道,您可能看不到它。Oculante允许您单独检查所有通道并查看不应用透明度的颜色数据。![截图](https://img.gs/czjpqfbdkz/800/https://raw.githubusercontent.com/woelper/oculante/71b688bcf9f1f7d953e23f42370c497504b3c20d/res/premult.png)(图片宽度:800像素,高度:450像素)
安装
Oculante无需安装,因为它只是一个可执行文件。只需从发布标签中下载适用于您的系统的版本(https://github.com/woelper/oculante/releases)。为了打开图像,您可以配置系统使用oculante打开所需的图像格式,将它们拖放到可执行文件或窗口中。目前,可执行文件大小约为20MB,因为默认情况下是静态链接依赖项。为旧计算机/小型系统提供了具有较少图像格式的最小版本。还构建了适用于Arm Linux的包。如果您希望支持您选择的操作系统,请提出问题。
在NetBSD上,可以通过本地软件包管理器获得预编译的二进制文件。要安装它,只需运行
pkgin install oculante
功能
图像格式支持
- bmp
- gif(动画支持和正确的时间同步)
- hdr,色调映射
- ico
- icns(通过
rust-icns
) - jpeg
- jpeg2000(通过
jpeg2k
,功能 "j2k",默认开启) - png
- pnm
- tga
- jxl(JPEG XL,通过
jxl-oxide
) - avif
- tiff(通过
tiff
,增加了浮点/半支持) - webp(通过
libwebp-sys
-image
有非常有限的格式支持) - farbfeld
- DDS(DXT1-5,通过
dds-rs
) - psd(通过
psd
) - svg(通过
resvg
) - exr(通过
exr-rs
),色调映射 - RAW(通过
quickraw
- nef, cr2, dng, mos, erf, raf, arw, 3fr, ari, srf, sr2, braw, r3d, nrw, raw)。由于raw是一个复杂的领域,没有真正的标准,因此不是所有相机型号都受支持。 - ppm
- HEIC/HEIF(通过
libheif-rs
)。在Windows构建中启用,但在MacOS和Linux上是可选的依赖项 - 可在heif
标志后使用。 - qoi
平台支持
- Linux
- Mac
- Windows
- NetBSD
其他功能
- 图像信息(i)(像素位置,颜色信息)
- 线程化图像加载
- 将图像适配到视图
- 窗口可以配置为始终位于最前面 - 便于保持图像作为参考
- 低CPU使用率
- 非破坏性绘画和操作符堆栈 - 通过先缩小图像来交互式地编辑非常大的图像,然后在想要导出时删除缩小操作符。
- 支持元文件:可以将编辑堆栈保存到元文件中,该文件将在加载原始文件时自动加载并应用。
- 启动/加载时间非常快
- 可配置图像缓存(选择要保留在内存中的图像数量)
- 显示未关联/未预乘的alpha(u)
- 无损JPEG编辑:裁剪、旋转、镜像而无需重新压缩数据
- 浅色/深色主题和跟随系统主题模式
- 网络监听模式:使用
oculante -l 端口
启动,oculante 将切换到接收模式。您可以将原始图像数据通过该端口传输,例如使用nc localhost 8888 < image.jpg
。将自动检测图像类型。如果您传输图像序列,这些序列将以约30 fps的速度播放,因此您可以将其传输到视频。这可以用来可视化来自无头系统的图像。 - EXIF支持:如果存在,则加载元数据
- 从stdin加载文件:使用
cat image | oculante -s
传输您的数据
其他示例
EXIF显示
提取签名
路线图
图像加载时间仍然比feh或xv差这现在非常接近,尤其是在切换到turbojpeg
- 测试和基准测试
- 图像旋转(并读取EXIF信息)
- 调查PVR/ETC支持
- HDR的亮度/伽玛调整
SVG支持不关联通道的图像的自定义显示EXR支持读取目录中的下一张图像并切换到它们
隐私承诺
Oculante不会以任何方式收集或发送匿名或非匿名用户数据或统计信息。Oculante是免费的,并且将保持开源。永远不会出现广告。只有两种情况下,oculante会与网络交互,并且这两种情况都不会在没有用户触发的情况下发生。
- 更新应用程序(必须从设置中手动触发)
- 监听自定义端口上的传入图像(必须在命令行中设置)
此外,oculante还会保存一些本地设置,例如
- UI强调色
- 快捷键
- Vsync首选项
- 保持视图偏移/缩放
- 是否显示目录索引栏
- 近期文件
归属
测试/基准图像
https://unsplash.com/@mohsen_karimi
https://unsplash.com/@frstvisuals
许可
本项目采用MIT许可。本项目包含GPL许可的代码,例如res/LUT中的LUT。因此,本项目的源代码是公开的,以符合GPL。希望在不发布源代码的情况下使用本项目的作者有责任删除任何需要源代码访问的代码及其引用。
构建
Linux
sudoapt-get install libxcb-shape0-dev libxcb-xfixes0-dev libgtk-3-dev libasound2-dev nasm cmake
Win: 从https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/win64/安装Nasm
Mac brew install nasm
Cargo功能
-
turbo
(默认启用),将不会使用turbojpeg库来打开jpeg图像。您不需要安装Nasm。 -
file_open
将启用/禁用操作系统原生的文件打开对话框。这将引入额外的依赖项,并默认启用。禁用它将启用自定义文件对话框。这可能在将来成为默认设置。 -
notan/glsl-to-spirv
(默认)使用spirv着色器编译器 -
notan/shaderc
使用shaderc作为着色器编译器。构建时间更长。 -
update
(默认)启用应用程序更新。
快捷键
鼠标滚轮
= 放大/缩小
左键、
中键
= 平移
ctrl + 鼠标滚轮
= 文件夹中的上一张/下一张图像
右键
从图像中拾取颜色(在绘图模式下)
T = 总在最前
F = 全屏
I = 信息模式
E = 编辑模式
右箭头 = 下一张图像
Home = 第一张图像
End = 最后一张图像
左箭头 = 上一张图像
R = 红通道
G = 绿通道
B = 蓝通道
A = 透明通道
U = RGB通道
C = RGBA通道
V = 重置视图
减号 = 缩小
= = 放大
Key1 = 实际大小
Key2 = 双倍大小
Key3 = 三倍大小
Key4 = 四倍大小
Key5 = 五倍大小
LShift + C = 比较下一张
LShift + 左箭头 = 向左平移
LShift + 右箭头 = 向右平移
LShift + 上箭头 = 向上平移
LShift + 下箭头 = 向下平移
删除键 = 删除文件
LShift + 删除键 = 清除图像
右括号 = 无损旋转向右
LBracket = 无损左旋
LControl + C = 复制
LControl + V = 粘贴
LControl + O = 浏览
Q = 退出
Z = 静态模式
依赖项
~75–125MB
~2M SLoC