将一种颜色改为另一种颜色?

将一种颜色改为另一种颜色?

在 GIMP 中,我有一个绿色按钮 GIF 图像:它在透明背景下从深绿色渐变为浅绿色。我想将其更改为蓝色,并保留阴影,因此它会从深蓝色渐变为浅蓝色。

我怎样才能做到这一点?

答案1

如果您加载 GIF 图像,则可能会得到调色板图像。请确保先将其更改为 RGB:图像模式RGB. 更改颜色(包括调整大小操作)对于调色板来说效果不太好,因为 Gimp 将其颜色选择限制为调色板中定义的颜色。

我建议旋转色调颜色色相饱和度

给定如下的初始图像:

绿色渐变

您首先通过单击“主色调”,然后拖动“色调”滑块来更改“色调”,然后根据您的喜好调整“亮度”和“对比度”。

在颜色中调整色调 -> 色调饱和度

结果如下:

蓝色渐变

您可以轻松地使其变冷或变暖、变暗或变亮、饱和度增加或减少。

答案2

如果您使用的是 GIMP 2.8.2,您可以简单使用Colors -> Map -> Color Exchange

来源:如何使用 GIMP 交换颜色?

答案3

您正在寻找菜单颜色,尤其是函数着色

答案4

我发现第一个能成功完成同样事情的方法是使用 ImageMagick,但使用的操作符与之前建议的 --separate/-swap 不同。

根据 ImageMagick 的版本,不同的操作符是 -recolor 或 -color-matrix。

具体来说,因为我知道原始图像的“主颜色”(在您和我的情况下是绿色),并且我知道所需结果图像中的“主颜色”(在您的情况下是蓝色,在我的情况下是橙色),所以我给了 ImageMagick 的 -recolor/-color-matrix 选项一个转换矩阵,其值反映了每个 RGB 通道的差异。

例如,在我的例子中,全绿色是 R:141 G:198 B:63,我想将其更改为 R:231 G:159 B:70。其余颜色也想进行同等更改。

所以这意味着我希望新像素的 R 值为当前红色值的 231/141。绿色值为当前值的 159/198。蓝色值为当前值的 63/70。

所以:

convert input.png -recolor      "1.638297872 0 0    0 0.803030303 0   0 0 1.111111111" output.png

或者

convert input.png -color-matrix "1.638297872 0 0    0 0.803030303 0   0 0 1.111111111" output.png

或者

在花费大量时间与 Gimp/plugins 和 paint.net/plugins 搏斗而徒劳无功之后,这个插件似乎很快就起作用了。

相关内容