按*值*反转屏幕颜色

按*值*反转屏幕颜色

如何反转屏幕颜色按价值

最常见的反转颜色方法是使用 RGB 取反。不幸的是,这种方法不太美观:蓝色变成黄色,绿色变成洋红色,等等。

我想要的是反转,它是和value中的一个组成部分。这样,深色会变浅,浅色会变深,但蓝色仍然是蓝色。huesaturation

示例输出(使用 GIMP 创建,不能在整个屏幕上工作):

原件 => 价值倒置

目标是让整个屏幕“反转”,这样您就可以阅读 PDF、Firefox、即时消息——全部用深色。

答案1

有一个解决方案涉及基于 OpenGL 的合成器(例如 compton)和定制的着色器(*.glsl)。

以下是对该技术的观察以及着色器文件:https://github.com/vn971/linux-color-inversion

答案2

您可以使用图像魔术师工具与颜色矩阵选项

此选项允许饱和度变化、色调旋转、亮度到 alpha 以及各种其他效果。虽然可以使用可变大小的变换矩阵,但通常对 RGBA 图像使用 5x5 矩阵,对 CMYKA(或带偏移的 RGBA)使用 6x6 矩阵。该矩阵与 Adob​​e Flash 使用的矩阵类似,只是偏移在第 6 列而不是第 5 列(支持 CMYKA 图像)并且偏移是标准化的(将 Flash 偏移除以 255)。

举个例子,要给带有偏移的图像添加对比度,请尝试以下命令:

convert kittens.jpg -color-matrix \
    " 1.5 0.0 0.0 0.0, 0.0, -0.157 \
     0.0 1.5 0.0 0.0, 0.0, -0.157 \
     0.0 0.0 1.5 0.0, 0.0, -0.157 \
     0.0 0.0 0.0 1.0, 0.0,  0.0 \
     0.0 0.0 0.0 0.0, 1.0,  0.0 \
     0.0 0.0 0.0 0.0, 0.0,  1.0" kittens.png

相关内容