c# - 在 C# 中将整数映射到 RGB 颜色

标签 c# mapping rgb

所以现在我有一个介于 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/

相关文章:

android - 如何从图像中获取 RGB 矩阵?

python - Sentinel-2数据: plotting RGB Composite Image using Python3

python - 使用 Pillow 从 CMYK 转换为 RGB 与 Photoshop 不同

c# - WPF C# : MVVM - Passing on the Sudoku from ViewModel -> View

c# - 不能在 'Binding' 类型的 'Source' 属性上设置 'Binding'

silverlight - 字体粗细和样式在 silverlight 中未正确映射

Grails:TypeMismatchException - 提供了错误类型的 id - 预期:类 java.lang.Integer,得到类 java.lang.Long

c# - 如何在 C# 中将两个整数转换为浮点值?

c# - 如何通过逗号拆分字符串填充 gridview?

objective-c - Restkit多对多关系导致对象重复