RGB宏c#等效

时间:2013-10-09 19:23:41

标签: c# rgb

c ++中的rgb宏在c#中是否有等效函数?我试图将托管的c ++文件转换为c#。 是否有getrvalue,getgvalue方法等的解决方法。

6 个答案:

答案 0 :(得分:4)

C ++中的RGB宏为每个通道输入一个字节作为输入。

C#具有等效功能:

Color.FromArgb(int alpha, int red, int green, int blue)
Color.FromArgb(int red, int green int blue)

您可以指定RGB或RGBA值。

答案 1 :(得分:3)

您正在寻找Color.FromArgb(int),这正是如此。

答案 2 :(得分:1)

这取决于您存储RGB数据的方式,即32位,24位,16位,15位,12位等。

您通常可以使用>>&运算符提取位字段,例如

int r = ( color >> 16) & 0xFF;

但这取决于颜色的定义方式。

答案 3 :(得分:1)

您可以使用Color结构。文档MSDN

答案 4 :(得分:0)

您可以将其定义为c#中的函数,因为它相对容易。

((ushort)(((byte)(r) | ((ushort)((byte)(g)) << 8)) | (((uint)(byte)(b)) << 16)));

答案 5 :(得分:0)

您可以使用System.Drawing.ColorTranslator来实例化Color对象,然后分别访问其RGB属性。