XMCOLOR::XMCOLOR (float,float,float,float) 函数 (directxpackedvector.h)
从四float
个参数初始化 的新XMCOLOR
实例。
此构造函数从四float
个参数初始化 XMCOLOR 的新实例。
注意 此构造函数仅在 C++ 下可用。
语法
void XMCOLOR(
float _r,
float _g,
float _b,
float _a
) noexcept;
参数
_r
存储在 的新实例中的 32 位 ARGB 颜色的 红色 通道的 XMCOLOR
规范化值。 此参数的值应位于 [0.0 - 1.0] 范围内。
_g
新 实例中存储的 32 位 ARGB 颜色 绿色 通道的 XMCOLOR
规范化值。 此参数的值应位于 [0.0 - 1.0] 范围内。
_b
新实例中存储的 32 位 ARGB 颜色蓝色通道的XMCOLOR
规范化值。 此参数的值应位于 [0.0 - 1.0] 范围内。
_a
存储在 的新实例中的 32 位 ARGB 颜色的 alpha 通道的 XMCOLOR
规范化值。 此参数的值应位于 [0.0 - 1.0] 范围内。
返回值
无
备注
在 实例化 XMCOLOR
实例期间,此构造函数的所有输入参数都会固定到 [0.0, 1.0] 范围,再乘以 255.0f
,然后舍入,然后存储在适当的结构成员中。
以下伪代码演示了此构造函数的操作,该构造函数利用 union
了向量的四个分量的 XMCOLOR
,并在结构定义中为 实例 uint32_t
:
XMCOLOR instance;
_a1 = min( max( _a, 0.0 ), 1.0 );
_r1 = min( max( _r, 0.0 ), 1.0 );
_g1 = min( max( _g, 0.0 ), 1.0 );
_b1 = min( max( _b, 0.0 ), 1.0 );
_a1 = round ( _a1 * 255.0f );
_r1 = round ( _r1 * 255.0f );
_g1 = round ( _g1 * 255.0f );
_b1 = round ( _b1 * 255.0f );
instance.v = ( (uint32_t)_a1 << 24) |
( (uint32_t)_r1 << 16) |
( (uint32_t)_g1 << 8) |
( (uint32_t)_b1 );
要求
目标平台 | Windows |
标头 | directxpackedvector.h |
请参阅
引用
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈