【发布时间】:2013-08-05 11:37:48
【问题描述】:
在我的程序中,我需要循环显示可用的已知用户颜色,使其看起来平滑自然,就像 DWM 颜色滑块一样。
颜色也必须转换为 uint
private static uint ColorToBgra(Color
{
return (uint)
(color.B | (color.G << 8) | (color.R << 16) | (color.A << 24));
}
然后设置它。我尝试将其设置为白色,其中 uint 为 0,然后每 0.1 秒添加一次 +1,但它并不平滑,并且每隔大约 uint 250 它会变黑然后继续。 this 对我有用吗?我试过了,但没有。
有什么想法吗?
【问题讨论】:
-
你的代码让我流血了。
-
顺便说一句,
Color.ToArgb()与上面的ColorToBgra()方法相同。 -
你在哪里找到这个代码?我认为
Blue颜色应该从color.B右移。据我所知,颜色元素的顺序是B G R A而不是A R G B很多人认为的。 -
您应该让我们知道
DWM color slider的外观,以便我们有其他方法。 -
这里是所有代码的位置:) stackoverflow.com/a/17808712/2609115