Поделиться через


Структура XMCOLOR (directxpackedvector.h)

32-разрядный вектор альфа-красного зеленого синего цвета (ARGB), где каждый цветовой канал указан как 8-разрядное целое число без знака.

Список дополнительных функций, таких как конструкторы и операторы, доступные при XMCOLOR программировании на C++, см. в разделе Расширения XMCOLOR.

Примечание Сведения об эквивалентных объектах D3DDECLTYPE, D3DFORMAT и DXGI_FORMAT см. в статье Эквивалентность типов библиотеки DirectXMath.
 

Синтаксис

struct XMCOLOR {
  union {
    struct {
      uint8_t b;
      uint8_t g;
      uint8_t r;
      uint8_t a;
    };
             uint32_t c;
  };
  void      XMCOLOR();
  void      XMCOLOR(
    const XMCOLOR & unnamedParam1
  );
  XMCOLOR & operator=(
    const XMCOLOR & unnamedParam1
  );
  void      XMCOLOR(
    XMCOLOR && unnamedParam1
  );
  XMCOLOR & operator=(
    XMCOLOR && unnamedParam1
  );
  void      XMCOLOR(
    uint32_t Color
  ) noexcept;
  void      XMCOLOR(
    float _r,
    float _g,
    float _b,
    float _a
  ) noexcept;
  void      XMCOLOR(
    const float *pArray
  ) noexcept;
  void      operator uint32_t() noexcept;
  XMCOLOR & operator=(
    const uint32_t Color
  ) noexcept;
};

Члены

b

Целое число без знака от 0 до 255, представляющее синий компонент.

g

Целое число без знака от 0 до 255, представляющее зеленый компонент.

r

Целое число без знака от 0 до 255, представляющее красный компонент.

a

Целое число без знака от 0 до 255, представляющее альфа-компонент.

c

32-разрядное целое число без знака, представляющее цвет. Цвета хранятся в A8R8G8B8 формате.

Альфа-компонент — наиболее значимые биты, а синий компонент хранится в наименее значимых битах.

void XMCOLOR()

Конструктор по умолчанию для XMCOLOR

Конструктор по умолчанию для XMCOLOR

Примечание Это доступно только для разработки на C++.
 

void XMCOLOR( const XMCOLOR & unnamedParam1)

Конструктор для XMCOLOR

Конструктор для XMCOLOR

Примечание Это доступно только для разработки на C++.

XMCOLOR & operator=( const XMCOLOR & unnamedParam1)

void XMCOLOR( XMCOLOR && unnamedParam1)

Конструктор для XMCOLOR

Конструктор для XMCOLOR

Примечание Это доступно только для разработки на C++.

XMCOLOR & operator=( XMCOLOR && unnamedParam1)

Этот оператор назначает данные компонента вектора из одного экземпляра XMCOLOR текущему экземпляру XMCOLOR.

Примечание Этот оператор доступен только в C++.

void XMCOLOR( uint32_t Color) noexcept

Инициализирует новый экземпляр XMCOLOR из переменной uint32_t , содержащей данные компонента в упакованном формате.

Этот конструктор инициализирует новый экземпляр XMCOLOR из переменной, uint32_t содержащей данные компонента в упакованном формате.

Примечание Этот конструктор доступен только в C++.
 

void XMCOLOR( float _r, float _g, float _b, float _a) noexcept

Инициализирует новый экземпляр из XMCOLOR четырех float аргументов.

Этот конструктор инициализирует новый экземпляр XMCOLOR из четырех float аргументов.

Примечание Этот конструктор доступен только в C++.
 

void XMCOLOR( const float *pArray) noexcept

Инициализирует новый экземпляр XMCOLOR из аргумента массива с четырьмя элементами float .

Этот конструктор инициализирует новый экземпляр XMCOLOR из из аргумента массива четырех элементов float .

Примечание Это доступно только для разработки на C++.

Оператор void uint32_t() noexcept

Возвращает экземпляр класса , uint32_t содержащий компоненты экземпляра XMCOLOR в упакованном формате.

Примечание Этот оператор доступен только в C++.
 

XMCOLOR & operator=( const uint32_t Color) noexcept

Назначает данные компонента вектора, упакованные в экземпляр uint32_t , текущему экземпляру XMCOLOR.

Этот оператор назначает данные компонента вектора, упакованные в экземпляр uint32_t , текущему экземпляру XMCOLOR.

Примечание Этот оператор доступен только в C++.
 

Комментарии

Для конструкторов XMCOLOR , использующих аргументы с плавающей запятой, требуются нормализованные входные данные, которые закреплены в диапазоне от [0 до 1,0]. Во время создания экземпляра данные с плавающей запятой, указывающие цветовые каналы, умножаются на 255,0f, округляются и затем назначаются соответствующим членам XMCOLOR.

XMCOLOR можно использовать для загрузки экземпляров XMVECTOR из нормализованных значений с помощью XMLoadColor, который делит данные цветовых каналов на 255,0f, округляет результат, а затем назначает компоненты экземпляру XMVECTOR .

XMVECTOR Экземпляры, содержащие нормализованные значения, можно хранить в XMCOLOR с помощью XMStoreColor, который умножает данные цветовых каналов на 255,0f, округляя результат перед назначением значений соответствующим XMCOLOR членам.

Пространства имен: Использование DirectX::P ackedVector

Требования к платформе

Microsoft Visual Studio 2010 или Microsoft Visual Studio 2012 с windows SDK для Windows 8. Поддерживается для классических приложений Win32, приложений Магазина Windows и приложений Windows Phone 8.

Требования

   
Верхняя часть directxpackedvector.h

См. также раздел

Структуры библиотек DirectXMath

Расширения XMCOLOR