【发布时间】:2019-09-23 14:09:01
【问题描述】:
我想重现 this site 在 C# 中所做的事情
这是我尝试过的:
Color whiteColor = Color.White;
int intWhiteColor = whiteColor.ToArgb();
这是我得到的:-1
这是我所期待的:16777215
我尝试搜索几乎所有我能想到的东西,但最终找不到我想要的东西。
这很有可能是重复的,我真的很抱歉,如果是这样,请给我链接。
【问题讨论】:
-
int intColor = (redColor.R << 16) | (redColor.G << 8) | (redColor.B); -
result is -65536 这是预期值 (0xffff0000)
-
@Selvin 预期值为
16777215 -
很好,正在使用移位运算符...
public static uint MyColorToUInt(Color color) { return (uint)((color.A << 24) | (color.R << 16) | (color.G << 8) | (color.B << 0)); } -
16711680 not 16777215 16777215 是白色的