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


Класс Matrix3x2F (d2d1helper.h)

Класс Matrix3x2F представляет матрицу 3 на 2 и предоставляет удобные методы для создания матриц.

Наследование

Класс Matrix3x2F наследуется от D2D1_MATRIX_3X2_F.

Методы

Класс Matrix3x2F содержит следующие методы.

 
Matrix3x2F::D eterminant

Вычисляет детерминант матрицы. (Matrix3x2F.Determinant)
Matrix3x2F::Identity

Создает матрицу удостоверений. (Matrix3x2F.Identity)
Matrix3x2F::Invert

Инвертирует матрицу, если она является инвертируемым.
Matrix3x2F::IsIdentity

Указывает, является ли матрица матрицей идентификации. (Matrix3x2F.IsIdentity)
Matrix3x2F::IsInvertible

Указывает, является ли матрица инвертируемым.
Matrix3x2F::Matrix3x2F

Создает экземпляр нового экземпляра класса Matrix3x2F, содержащего указанные значения.
Matrix3x2F::Matrix3x2F

Создает экземпляр нового экземпляра класса Matrix3x2F без инициализации значений матрицы.
Matrix3x2F::operator*

Метод Matrix3x2F::operator-mult (d2d1helper.h) умножает эту матрицу на указанную матрицу и возвращает результат.
Matrix3x2F::ReinterpretBaseType

Преобразует указанную матрицу D2D1_MATRIX_3X2_F в Matrix3x2F без копирования. (перегрузка 1/2)
Matrix3x2F::ReinterpretBaseType

Преобразует указанную матрицу D2D1_MATRIX_3X2_F в Matrix3x2F без копирования. (перегрузка 2/2)
Matrix3x2F::Rotation

Создает преобразование поворота, которое имеет указанный угол и центральную точку.
Matrix3x2F::Scale

Создает преобразование масштабирования с указанными коэффициентами масштабирования и центральной точкой. (перегрузка 2/2)
Matrix3x2F::Scale

Создает преобразование масштабирования с указанными коэффициентами масштабирования и центральной точкой. (перегрузка 1/2)
Matrix3x2F::SetProduct

Умножает две матрицы и сохраняет результат в этой матрице. (Matrix3x2F.SetProduct)
Matrix3x2F::Неравномерное распределение

Создает преобразование неравномерного распределения, которое имеет указанные значения оси X и Y и центральную точку.
Matrix3x2F::TransformPoint

Использует эту матрицу для преобразования указанной точки и возвращает результат.
Matrix3x2F::Translation

Создает преобразование преобразования с указанными смещениями x и y. (перегрузка 1/2)
Matrix3x2F::Translation

Создает преобразование преобразования с указанными смещениями x и y. (перегрузка 2/2)

Комментарии

Класс Matrix3x2F предоставляет множество статических методов для создания матриц преобразования. В следующей таблице приведены часто используемые методы и связанные с ними практические руководства.

Метод Инструкции
Отклонение Как наклонить объект
Поворот Поворот объекта
Масштабирование Масштабирование объекта
Перевод Преобразование объекта
 

Преобразования можно применять к объектам или ко всей поверхности рисования. Чтобы применить преобразования ко всей поверхности рисования, вызовите метод ID2D1RenderTarget::SetTransform . Для отдельных объектов, таких как кисти или геометрические объекты, вызовите метод ID2D1Brush::SetTransform или метод ID2D1Geometry .

Примеры

В следующем примере метод D2D1::Matrix3x2F::Rotation используется для создания матрицы поворота, которая вращается квадратной по часовой стрелке на 45 градусов вокруг центра квадрата и передает матрицу методу SetTransform целевого объекта отрисовки (m_pRenderTarget).

На следующем рисунке показан эффект применения предыдущего преобразования поворота к квадрату. Исходный квадрат представляет собой пунктирный контур, а повернутый квадрат — сплошной контур.

Иллюстрация квадрата, повернутого по часовой стрелке на 45 градусов относительно центра исходного квадрата
    // Create a rectangle.
    D2D1_RECT_F rectangle = D2D1::Rect(438.0f, 301.5f, 498.0f, 361.5f);

    // Draw the rectangle.
    m_pRenderTarget->DrawRectangle(
        rectangle,
        m_pOriginalShapeBrush,
        1.0f,
        m_pStrokeStyleDash
        );

    // Apply the rotation transform to the render target.
    m_pRenderTarget->SetTransform(
        D2D1::Matrix3x2F::Rotation(
            45.0f,
            D2D1::Point2F(468.0f, 331.5f))
        );

    // Fill the rectangle.
    m_pRenderTarget->FillRectangle(rectangle, m_pFillBrush);

    // Draw the transformed rectangle.
    m_pRenderTarget->DrawRectangle(rectangle, m_pTransformedShapeBrush);


Код в этом примере опущен. Дополнительные сведения о преобразованиях см. в разделе Общие сведения о преобразованиях.

Требования

Требование Значение
Минимальная версия клиента Windows 7, Windows Vista с пакетом обновления 2 (SP2) и обновлением платформы для Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 R2, Windows Server 2008 с пакетом обновления 2 (SP2) и Обновление платформы для Windows Server 2008 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header d2d1helper.h (включая D2d1helper.h)

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

D2D1_MATRIX_3X2_F

Общие сведения о классах Transform