c# 中是否有与 c++ 中的 rgb 宏等效的函数?我正在尝试将托管的 c++ 文件转换为 c#。getrvalue , getgvalue 方法等是否有解决方法?
问问题
1776 次
6 回答
4
C++ 中的 RGB 宏将每个通道的一个字节作为输入。
C# 有一个等价的功能:
Color.FromArgb(int alpha, int red, int green, int blue)
Color.FromArgb(int red, int green int blue)
您可以指定 RGB 或 RGBA 值。
于 2013-10-09T19:27:12.683 回答
3
You're looking for Color.FromArgb(int)
, which does exactly that.
于 2013-10-09T19:26:36.857 回答
1
这取决于您如何存储 RGB 数据,即 32 位、24 位、16 位、15 位、12 位等。
您通常可以使用>>
and&
运算符提取位字段,例如
int r = ( color >> 16) & 0xFF;
但这取决于如何定义颜色。
于 2013-10-09T19:26:46.187 回答
1
你可以使用Color
结构。文档MSDN
于 2013-10-09T19:27:44.917 回答
0
您可以使用System.Drawing.ColorTranslator
来实例化一个Color
对象,然后分别访问其R
,G
和B
属性。
于 2013-10-09T19:29:54.030 回答
0
您可以将其定义为 c# 中的函数,因为它相对容易。
((ushort)(((byte)(r) | ((ushort)((byte)(g)) << 8)) | (((uint)(byte)(b)) << 16)));
于 2013-10-09T19:23:41.383 回答