在C#中将整数映射到RGB颜色所以现在我有一个介于0和2^24之间的数字,我需要将它映射到三个RGB值。我在如何实现这一点上遇到了一些麻烦。任何帮助表示赞赏。你可以做Colorc=Color.FromArgb(someInt);然后根据颜色的位置分别对红色、绿色和蓝色值使用cR、cG和cB,你可以使用位移来得到这样的颜色:intrgb=0x010203;varcolor=Color.FromArgb((rgb>>16)&0xff,(rgb>>8)&0xff,(rgb>>0)&0xff);上面的表达式假定为0x00RRGGBB但您的颜色可能是0x00BBGGRR在这种情况下只需更改0x00BBGGRR值。这也使用System.Drawing.Color而不是System.Windows.Media.Color或您自己的颜色类。这取决于应用程序。您可以使用BitConverter类从int中获取字节:byte[]values=BitConverter.GetBytes(number);如果(!BitConverter.IsLittleEndian)Array.Reverse(values);该数组将有四个字节。前三个字节包含您的号码:byteb=values[0];字节g=值[1];字节r=值[2];上面的代码工作得很好。只是需要按如下方式交换b和r的小修正。以上就是C#学习教程:C#中将整数映射为RGB颜色的全部内容分享。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注——byter=values[0];字节g=值[1];字节b=值[2];本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
