RGB 宏 c# 等效项

本文关键字:RGB | 更新日期: 2023-09-27 18:34:34

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

RGB 宏 c# 等效项

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

C# 有一个等效的函数:

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

您可以指定 RGB 或 RGBA 值。

您正在寻找Color.FromArgb(int),它正是这样做的。

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

通常可以使用>>&运算符提取位字段,如下所示

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

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

您可以使用

Color结构。文档 MSDN

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

((ushort)(((byte)(r) | ((ushort)((byte)(g)) << 8)) | (((uint)(byte)(b)) << 16)));
您可以使用

System.Drawing.ColorTranslator实例化Color对象,然后分别访问其RGB属性。

相关文章:
  • 没有找到相关文章