共用方式為


XMCOLOR::XMCOLOR (constfloat*) 函式 (directxpackedvector.h)

從四個專案 float 陣列引數初始化XMCOLOR的新實例。

這個建構函式會從四個專案 float 陣列引數初始化XMCOLOR的新實例。

注意 這僅適用于以 C++ 為基礎的開發。

語法

void XMCOLOR(
  const float *pArray
) noexcept;

參數

pArray

四個元素浮點數組,其中包含用來初始化 XMCOLOR新實例四個元件的色彩值。

傳回值

備註

陣列元素會對應至 XMCOLOR 新實例的向量元件,如下所示:

向量元件 Array 元素 範圍 描述
a pArray[0] 0.0, 1.0 在具現化期間,pArray[0] 會固定在 0 到 1 之間,乘以 255.0f 並指派給 (Alpha 色板) 。
r pArray[1] 0.0, 1.0 在具現化期間,pArray[1] 會固定在 0 到 1 之間,乘以 255.0f,然後指派給 r (紅色通道) 。
z pArray[2] 0.0, 1.0 在具現化期間,pArray[2] 會固定在 0 到 1 之間,乘以 255.0f,然後指派給 g (綠色通道) 。
w pArray[3] 0.0, 1.0 在具現化期間,pArray[3] 會固定在 0 到 1 之間,乘以 255.0f,然後指派給 b (藍色通道) 。

下列虛擬程式碼示範此建構函式的作業,其利用XMCOLOR結構的四個色彩通道聯集,以及 結構定義中的 實例 uint32_t

XMCOLOR instance;
_a1 = min( max( pArray[0], 0.0 ), 1.0 );
_r1 = min( max( pArray[1], 0.0 ), 1.0 );
_g1 = min( max( pArray[2], 0.0 ), 1.0 );
_b1 = min( max( pArray[3], 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)_b1 <<  8) |
              ( (uint32_t)_b1 );

需求

   
目標平台 Windows
標頭 directxpackedvector.h

另請參閱

XMCOLOR

XMCOLOR 建構函式