如果你使用的是GIMP 2.8.2,你可以简单的使用Colors -> Map -> Color Exchange
.
来源。如何用GIMP交换颜色? (https://superuser.com/questions/155143/how-can-i-swap-colors-with-gimp)
要把一个颜色改成另一个特定的颜色,我建议使用Colorify。
假设我们想把超级用户标志的蓝色(#05adee)改成接近#05ad27的绿色,那么我们可以使用Colorify。
使用GIMP 2.8.6.
我找到的第一个成功的方法是使用ImageMagick来做同样的事情,但使用了一个不同的操作符,而不是之前推荐的 –separate/-swap。
具体来说,因为我知道原始图像的 “主色"(绿色,在你和我的情况下是绿色),而我知道所需结果图像的 "主色"(在你的情况下是蓝色,在我的情况下是橙色),所以我给了ImageMagick的-recolor/-color-matrix选项一个变换矩阵,其值反映了每个RGB通道的差异。
例如,在我的例子中,全绿的颜色是R:141 G:198 B:63,我想把它改成R:231 G:159 B:70。
所以我希望新像素的R值为当前红色值的231/141分之一。绿色的值是当前值的159/198分之一。
所以:
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上纠结了很久之后,一下子就成功了。
我不知道在GIMP中怎么做,但ImageMagick有分离和合并颜色通道的功能。参见本页。
我用这个命令把一个绿色GIF文件转换成蓝色,我猜测1和2指的是绿色和蓝色通道,0是红色通道。
如果你用现有的图像颜色更新HUE,那么色调将以这些级别的色调来启动…… 需要先做一个白色#fff背景。我做了
Colors -> Colorize并将HUE的亮度设置为100………..这将从你的图片中移除任何颜色。