所以现在我有一个介于 0 和 2^24 之间的数字,我需要将它映射到三个 RGB 值。我在如何实现这一点上遇到了一些麻烦。感谢您提供任何帮助。
最佳答案
根据颜色的位置,您可以使用位移来获得单独的颜色,如下所示:
int rgb = 0x010203;
var color = Color.FromArgb((rgb >> 16) & 0xff, (rgb >> 8) & 0xff, (rgb >> 0) & 0xff);
上面的表达式假定 0x00RRGGBB
但您的颜色可能是 0x00BBGGRR
在这种情况下只需更改 16, 8, 0
值。
这也使用 System.Drawing.Color
而不是 System.Windows.Media.Color
或您自己的颜色类。这取决于应用程序。
关于c# - 在 C# 中将整数映射到 RGB 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6131438/