Table of Contents

Struct AlphaColor

Namespace
Kook
Assembly
Kook.Net.Core.dll

表示 KOOK 中使用的带有不透明度通道的颜色。

public readonly struct AlphaColor : IEquatable<AlphaColor>
Implements
Inherited Members

Constructors

AlphaColor(Color, byte)

使用指定的 Color 及不透明度初始化一个 AlphaColor 结构的新实例。

public AlphaColor(Color baseColor, byte alpha)

Parameters

baseColor Color

基础颜色。

alpha byte

不透明度。

Examples

创建 #607D8BFF(http://www.color-hex.com/color/607d8b)所表示的颜色,且其完全不透明:

AlphaColor darkGrey = new AlphaColor(new Color(0x607D8B), (byte)0xFF);

AlphaColor(byte, byte, byte, byte)

使用指定的 RGBA 通道值初始化一个 Color 结构的新实例。

public AlphaColor(byte r, byte g, byte b, byte a)

Parameters

r byte

红色通道的强度。

g byte

绿色通道的强度。

b byte

蓝色通道的强度。

a byte

不透明度通道的强度。

Examples

创建 #607D8B(http://www.color-hex.com/color/607d8b)所表示的颜色,且其完全不透明:

AlphaColor darkGrey = new AlphaColor((byte)0x60, (byte)0x7D, (byte)0x8B, (byte)0xFF);

AlphaColor(int, int, int, int)

使用指定的 RGBA 通道值初始化一个 Color 结构的新实例。

public AlphaColor(int r, int g, int b, int a)

Parameters

r int

红色通道的强度。

g int

绿色通道的强度。

b int

蓝色通道的强度。

a int

不透明度通道的强度。

Examples

创建 #607D8B(http://www.color-hex.com/color/607d8b)所表示的颜色,且其完全不透明:

AlphaColor darkGrey = new AlphaColor(96, 125, 139, 255);

AlphaColor(float, float, float, float)

使用指定的 RGBA 通道值初始化一个 Color 结构的新实例。

public AlphaColor(float r, float g, float b, float a)

Parameters

r float

红色通道的强度。

g float

绿色通道的强度。

b float

蓝色通道的强度。

a float

不透明度通道的强度。

Examples

创建 #607D8B(http://www.color-hex.com/color/607d8b)所表示的颜色,且其完全不透明:

AlphaColor darkGrey = new AlphaColor(0.38f, 0.49f, 0.55f, 1.00f);

AlphaColor(uint)

使用指定的 32 位无符号整型值初始化一个 AlphaColor 结构的新实例。

public AlphaColor(uint rawValue)

Parameters

rawValue uint

颜色的 32 位无符号整型原始值。

Examples

创建 #607D8BFF(http://www.color-hex.com/color/607d8b)所表示的颜色,且其完全不透明:

AlphaColor darkGrey = new AlphaColor(0x607D8BFF);

Fields

Default

获取默认颜色。

public static readonly AlphaColor Default

Field Value

AlphaColor

MaxDecimalValue

获取一个 KOOK 中带有不透明度通道的颜色的最大值的原始值。

public const uint MaxDecimalValue = 4294967295

Field Value

uint

Properties

A

获取此颜色的不透明度通道的强度。

public byte A { get; }

Property Value

byte

B

获取此颜色的蓝色通道的强度。

public byte B { get; }

Property Value

byte

BaseColor

获取此颜色不带有不透明度通道的基础颜色。

public Color BaseColor { get; }

Property Value

Color

G

获取此颜色的绿色通道的强度。

public byte G { get; }

Property Value

byte

R

获取此颜色的红色通道的强度。

public byte R { get; }

Property Value

byte

RawValue

获取此颜色的原始值。

public uint RawValue { get; }

Property Value

uint

Remarks

颜色以 32 位无符号整型值 RGBA 格式进行编码,由高至低的每 8 位分别表示红色、绿色、蓝色和不透明度通道的强度。

Methods

Equals(AlphaColor)

Indicates whether the current object is equal to another object of the same type.

public bool Equals(AlphaColor other)

Parameters

other AlphaColor

An object to compare with this object.

Returns

bool

true if the current object is equal to the other parameter; otherwise, false.

Equals(object?)

Indicates whether this instance and a specified object are equal.

public override bool Equals(object? obj)

Parameters

obj object

The object to compare with the current instance.

Returns

bool

true if obj and this instance are the same type and represent the same value; otherwise, false.

GetHashCode()

Returns the hash code for this instance.

public override int GetHashCode()

Returns

int

A 32-bit signed integer that is the hash code for this instance.

ToString()

获取此颜色带有 # 前缀的 RGBA 十六进制字符串表示形式(例如 #000CCCFF)。

public override string ToString()

Returns

string

此颜色带有 # 前缀的 RGBA 十六进制字符串表示形式(例如 #000CCCFF)。

Operators

operator ==(AlphaColor, AlphaColor)

判定两个 AlphaColor 是否相等。

public static bool operator ==(AlphaColor lhs, AlphaColor rhs)

Parameters

lhs AlphaColor
rhs AlphaColor

Returns

bool

如果两个 AlphaColor 相等,则为 true;否则为 false

explicit operator Color(AlphaColor)

获取此颜色不带有不透明度通道的基础颜色。

public static explicit operator Color(AlphaColor color)

Parameters

color AlphaColor

Returns

Color

Remarks

warning

此转换会丢失不透明度通道的信息。

explicit operator AlphaColor(Color)

将由 .NET 定义的 Color 颜色转换为由 Kook.Net 定义的 AlphaColor 颜色。

public static explicit operator AlphaColor(Color color)

Parameters

color Color

要进行转换的 .NET Color 颜色。

Returns

AlphaColor

与该 .NET Color 颜色具有相同色值的 AlphaColor 颜色。

implicit operator Color(AlphaColor)

将由 Kook.Net 定义的 AlphaColor 颜色转换为由 .NET 定义的 Color 颜色。

public static implicit operator Color(AlphaColor color)

Parameters

color AlphaColor

要进行转换的 AlphaColor 颜色。

Returns

Color

与该 AlphaColor 颜色具有相同色值的 .NET Color 颜色。

implicit operator uint(AlphaColor)

获取此颜色的原始值。

public static implicit operator uint(AlphaColor color)

Parameters

color AlphaColor

Returns

uint

Remarks

颜色以 32 位无符号整型值 RGBA 格式进行编码,由高至低的每 8 位分别表示红色、绿色、蓝色和不透明度通道的强度。

implicit operator AlphaColor(Color)

将由 Kook.Net 定义的 Color 颜色转换为 Kook.Net 定义的 AlphaColor 颜色。

public static implicit operator AlphaColor(Color color)

Parameters

color Color

要进行转换的 Kook.Net 定义的 Color 颜色。

Returns

AlphaColor

与该 Kook.Net 定义的 Color 颜色具有相同色值的 AlphaColor 颜色。

implicit operator AlphaColor(uint)

使用指定的 32 位无符号整型值初始化一个 AlphaColor 结构的新实例。

public static implicit operator AlphaColor(uint rawValue)

Parameters

rawValue uint

颜色的 32 位无符号整型原始值。

Returns

AlphaColor

Examples

创建 #607D8B(http://www.color-hex.com/color/607d8b)所表示的颜色,且其完全不透明:

AlphaColor darkGrey = 0x607D8BFF;

operator !=(AlphaColor, AlphaColor)

判定两个 AlphaColor 是否不相等。

public static bool operator !=(AlphaColor lhs, AlphaColor rhs)

Parameters

lhs AlphaColor
rhs AlphaColor

Returns

bool

如果两个 AlphaColor 不相等,则为 true;否则为 false