如何反转颜色?

我知道这不会直接反转颜色,只会“反对”它。我想知道是否有人知道一种简单的方法(几行代码)来将颜色从任何给定的颜色反转

目前,我有这个(这不完全是反转的定义,因为如果我将其传递为灰色/灰色,它将返回极其相似的内容,例如127、127、127):

const int RGBMAX = 255;

Color InvertMeAColour(Color ColourToInvert)

{

return Color.FromArgb(RGBMAX - ColourToInvert.R,

RGBMAX - ColourToInvert.G, RGBMAX - ColourToInvert.B);

}

回答:

这取决于您“反转”颜色是什么意思

您的代码提供了“负”颜色。

您是否要寻找青色的红色,紫色的绿色,黄色的蓝色(依此类推)?如果是这样,则需要在HSV模式下转换RGB颜色(您将在此处进行转换)。

然后你只需要反转色彩值(变动Hue360-Hue),并重新转换为RGB模式。

编辑:亚历克斯Semeniuk提到,改变Hue(Hue + 180) % 360是更好的解决方案(它不倒置色调,但发现在色环相反的颜色)

以上是 如何反转颜色? 的全部内容, 来源链接: utcz.com/qa/435291.html

回到顶部