如何反转颜色?
我知道这不会直接反转颜色,只会“反对”它。我想知道是否有人知道一种简单的方法(几行代码)来将颜色从任何给定的颜色反转?
目前,我有这个(这不完全是反转的定义,因为如果我将其传递为灰色/灰色,它将返回极其相似的内容,例如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颜色(您将在此处进行转换)。
然后你只需要反转色彩值(变动Hue
的360-Hue
),并重新转换为RGB模式。
编辑:亚历克斯Semeniuk提到,改变Hue
由(Hue + 180) % 360
是更好的解决方案(它不倒置色调,但发现在色环相反的颜色)
以上是 如何反转颜色? 的全部内容, 来源链接: utcz.com/qa/435291.html