答案1
有一个解决方案涉及基于 OpenGL 的合成器(例如 compton)和定制的着色器(*.glsl)。
以下是对该技术的观察以及着色器文件:https://github.com/vn971/linux-color-inversion
答案2
此选项允许饱和度变化、色调旋转、亮度到 alpha 以及各种其他效果。虽然可以使用可变大小的变换矩阵,但通常对 RGBA 图像使用 5x5 矩阵,对 CMYKA(或带偏移的 RGBA)使用 6x6 矩阵。该矩阵与 Adobe 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