-4

如何获得颜色的 BLUE 分量值?我希望看到自定义函数实现,而不是Color.B

4

2 回答 2

2

Color.B包含以下内容:

public byte B
{
  [TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")] get
  {
    return (byte) ((ulong) this.Value & (ulong) byte.MaxValue);
  }
}
于 2012-12-30T19:20:12.103 回答
2

您可以使用参考源来获取 .NET 框架命名空间的源代码。

在 net\fx\src\CommonUI\System\Drawing\Color.cs 中有这个实现 Color.B 属性:

   public byte B {
       get {
           return(byte)((Value >> ARGBBlueShift) & 0xFF);
       }
   }

ARGBBlueShift 在哪里:

    private const int ARGBBlueShift   = 0;

在另一个以不同顺序存储颜色的操作系统上可能会出现不同值。

于 2012-12-30T19:22:51.230 回答