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


109

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

我怎样才能做到这一点?

Answers:


82

如果加载GIF图像,则可能有调色板图像。确保首先使用以下命令将其更改为RGB:图像模式RGB。更改颜色(包括调整大小的操作)不适用于调色板,因为Gimp将其颜色选择限制为调色板中定义的颜色。

我建议在“ 颜色” →“ 色相饱和度”中旋转“色相” 。

给定这样的初始图像:

绿色渐变

首先单击“母版”,然后拖动“色相”滑块,然后根据自己的喜好调整“亮度和对比度”,即可更改色相。

调整颜色的色相->色相饱和度

结果看起来像这样:

蓝色渐变

您可以轻松地使它变冷或变暖,变暗或变亮,或多或少饱和。


3
好答案。另外请注意,如果您的按钮包含边框,这也会更改其颜色。为避免这种情况,请使用选择工具仅选择要重新着色的区域,然后运行“色相饱和度”。
李·哈里森

1
如果我想将图像更改为给定的RGB值怎么办?
亚伦·弗兰克

77

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

来源:如何与GIMP交换颜色?


2
这似乎也只能对连续像素的单击区域进行操作,而不能对所有选定像素进行操作。就像我在上面评论的那样,这会使我调用它的像素着色。“按颜色选择”已在整个图像上选择了数百个像素。
ProfK 2013年

3
@ProfKaos对我来说很好。如果没有选择任何内容,Color Exchange会更改整个图像中的所有像素。
MasterPJ

3
我正在寻找数学变换。我正在将#650000转换为#590000,所以我觉得我应该能够对每个像素应用-060000,但是我看不到任何简单的方法...
isaaclw 2015年

您也可以使用“颜色->贴图->渐变贴图”来更改渐变。非常有用
哈维尔·康斯坦佐

1
那就是答案。通过调整阈值,人们还可以处理颜色的色调(例如,在消除锯齿的字符边界的情况下)
Csaba Toth

20

你要找的菜单颜色,尤其是功能彩色化


3
那只会使我调用它的像素着色。“按颜色选择”已在整个图像上选择了数百个像素。
ProfK 2013年

1
这样是否可以保持阴影,从而使阴影从深蓝色变为浅蓝色?
彼得·莫滕森

8

要将颜色更改为另一种特定颜色,我建议使用Colorify

假设我们要将超级用户徽标的蓝色(#05adee)更改为接近#05ad27的绿色。

  1. 颜色 →将颜色设置为Alpha:选择将变为透明的辅助颜色(在我们的示例中为白色)

在此处输入图片说明

  1. 颜色着色自定义颜色:选择目标颜色,并为(HSV的)值添加大约10至40

在此处输入图片说明

  1. 将辅助颜色设置为背景色(在我们的示例中为白色)
  2. 图像 →展平图像

使用GIMP 2.8.6。


1
它可以用于从深蓝色到浅蓝色的阴影吗?
彼得·莫滕森

1
是。如果放大我发布的两个样本,您将看到阴影已正确更改。
Marco Lackovic 2014年

这使我的图像比应该的要暗得多。有没有办法将一个颜色渐变替换为另一个颜色渐变?
亚伦·弗兰克

5

我发现做相同事情的第一个成功方法是使用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搏斗后,这似乎很快就起作用了。


3
  1. 将您的前景色更改为所需的颜色。(例如您的情况是蓝色)
  2. 将背景更改为白色或其他
  3. 打开渐变工具,然后将FG设置为BG或将FG设置为透明。
  4. 使用“按颜色选择”选择区域或颜色
  5. 颜色->贴图->渐变贴图

2

我不知道如何在GIMP中做到这一点,但是ImageMagick具有分离和组合颜色通道的功能。参见本页

我可以使用以下命令将绿色的GIF文件转换为蓝色:

convert input.gif -separate -swap 1,2 -combine output.gif

我猜1和2是指绿色和蓝色通道,0是红色。


2

如果您使用现有的图像颜色更新色相,则色相将以这些级别启动...首先需要制作白色#fff背景。我做了

颜色->上色并将HUE亮度设置为100 ...这将删除图像中的任何颜色。

然后,您可以使用颜色->着色并应用所需的颜色。


1

在简单的小型图形上,我放大了很多,然后自己使用画笔更改了颜色。

只需将画笔大小更改为1像素即可。


4
-1如果有渐变,这是不切实际的,您必须更改数十种不同的颜色。
sleske 2012年

1
到目前为止,给出的两个Gimp解决方案并没有好得多,所以看起来我很固执。
ProfK 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.