Udostępnij za pośrednictwem


Matrix Struktura

Definicja

Reprezentuje macierz przekształcania 3x3 używaną do przekształceń w przestrzeni 2-W.

public value class Matrix : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))]
[System.Serializable]
public struct Matrix : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))]
public struct Matrix : IFormattable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))>]
[<System.Serializable>]
type Matrix = struct
    interface IFormattable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))>]
type Matrix = struct
    interface IFormattable
Public Structure Matrix
Implements IFormattable
Dziedziczenie
Matrix
Atrybuty
Implementuje

Uwagi

Macierz 3x3 służy do przekształceń na płaszczyźnie 2-W x-y. Macierze przekształcania affine można mnożyć w celu utworzenia dowolnej liczby przekształceń liniowych, takich jak obrót i niesymetryczność (ścinanie), a następnie tłumaczenie. Macierz przekształcania affine ma końcową kolumnę równą (0, 0, 1), więc należy określić tylko elementy członkowskie w pierwszych dwóch kolumnach. Należy pamiętać, że wektory są wyrażane jako wektory wierszy, a nie wektory kolumn.

WPF Matrix jest przechowywany przy użyciu kolejności głównej wierszy i ma następującą strukturę:

M11 M12 0
M21 M22 0
OffsetX OffsetY 1

Elementy członkowskie w ostatnim wierszu OffsetX i OffsetY, reprezentują wartości tłumaczenia.

W metodach i właściwościach macierz przekształcania jest zwykle określana jako wektor z zaledwie sześcioma elementami członkowskimi w następujący sposób:

(M11, M12, M21, M22, OffsetX, OffsetY)

Chociaż można użyć Matrix struktury bezpośrednio do tłumaczenia pojedynczych punktów lub za pomocą MatrixTransform obiektu do przekształcania obiektów, platforma WPF udostępnia również zestaw klas, które umożliwiają przekształcanie obiektów bez bezpośredniej pracy z macierzami: RotateTransform, ScaleTransform, SkewTransformi TranslateTransform.

Użycie atrybutu języka XAML

<object property="m11, m12, m21, m22, offsetX, offsetY"/>  
- or -  
<object property="Identity"/>  

Wartości XAML

m11
System.Double

Wartość w pierwszym wierszu i pierwszej kolumnie tego Matrixelementu . Aby uzyskać więcej informacji, zobacz M11 właściwość .

m12
System.Double

Wartość w pierwszym wierszu i drugiej kolumnie. Aby uzyskać więcej informacji, zobacz M12 właściwość .

m21
System.Double

Wartość w drugim wierszu i pierwszej kolumnie. Aby uzyskać więcej informacji, zobacz M21 właściwość .

m22
System.Double

Wartość w drugim wierszu i drugiej kolumnie. Aby uzyskać więcej informacji, zobacz M22 właściwość .

przesunięcie X
System.Double

Wartość w trzecim wierszu i pierwszej kolumnie. Aby uzyskać więcej informacji, zobacz OffsetX właściwość .

offsetY
System.Double

Wartość w trzecim wierszu i drugiej kolumnie. Aby uzyskać więcej informacji, zobacz OffsetY właściwość .

Konstruktory

Matrix(Double, Double, Double, Double, Double, Double)

Inicjuje Matrix nowe wystąpienie struktury.

Właściwości

Determinant

Pobiera determinant tej Matrix struktury.

HasInverse

Pobiera wartość wskazującą, czy ta Matrix struktura jest odwracalna.

Identity

Pobiera tożsamość Matrix.

IsIdentity

Pobiera wartość wskazującą, czy ta Matrix struktura jest macierzą tożsamości.

M11

Pobiera lub ustawia wartość pierwszego wiersza i pierwszej kolumny tej Matrix struktury.

M12

Pobiera lub ustawia wartość pierwszego wiersza i drugiej kolumny tej Matrix struktury.

M21

Pobiera lub ustawia wartość drugiego wiersza i pierwszej kolumny tej Matrix struktury.

M22

Pobiera lub ustawia wartość drugiego wiersza i drugiej kolumny tej Matrix struktury.

OffsetX

Pobiera lub ustawia wartość trzeciego wiersza i pierwszej kolumny tej Matrix struktury.

OffsetY

Pobiera lub ustawia wartość trzeciego wiersza i drugiej kolumny tej Matrix struktury.

Metody

Append(Matrix)

Dołącza określoną Matrix strukturę do tej Matrix struktury.

Equals(Matrix)

Określa, czy określona Matrix struktura jest identyczna z tym wystąpieniem.

Equals(Matrix, Matrix)

Określa, czy dwie określone Matrix struktury są identyczne.

Equals(Object)

Określa, czy określona Object jest strukturą, która jest identyczna z tą Matrixwartością Matrix .

GetHashCode()

Zwraca kod skrótu dla tej Matrix struktury.

Invert()

Odwraca tę Matrix strukturę.

Multiply(Matrix, Matrix)

Matrix Mnoży strukturę przez inną Matrix strukturę.

Parse(String)

Konwertuje reprezentację String macierzy na równoważną Matrix strukturę.

Prepend(Matrix)

Poprzedza określoną Matrix strukturę tą Matrix strukturą.

Rotate(Double)

Stosuje obrót określonego kąta o pochodzeniu tej Matrix struktury.

RotateAt(Double, Double, Double)

Obraca tę macierz o określonym punkcie.

RotateAtPrepend(Double, Double, Double)

Poprzedza obrót określonego kąta w określonym punkcie do tej Matrix struktury.

RotatePrepend(Double)

Poprzedza obrót określonego kąta do tej Matrix struktury.

Scale(Double, Double)

Dołącza określony wektor skalowania do tej Matrix struktury.

ScaleAt(Double, Double, Double, Double)

Skaluje to Matrix o określoną ilość o określony punkt.

ScaleAtPrepend(Double, Double, Double, Double)

Poprzedza określoną skalę o określonym punkcie tego Matrixelementu .

ScalePrepend(Double, Double)

Poprzedza określony wektor skalowania do tej Matrix struktury.

SetIdentity()

Zmienia tę Matrix strukturę w macierz tożsamości.

Skew(Double, Double)

Dołącza niesymetryczność określonych stopni w wymiarach x i y do tej Matrix struktury.

SkewPrepend(Double, Double)

Poprzedza niesymetryczność określonych stopni w wymiarach x i y do tej Matrix struktury.

ToString()

Tworzy reprezentację String tej Matrix struktury.

ToString(IFormatProvider)

Tworzy reprezentację String tej Matrix struktury z informacjami o formatowaniu specyficznymi dla kultury.

Transform(Point)

Przekształca określony punkt przez Matrix element i zwraca wynik.

Transform(Point[])

Przekształca określone punkty przez ten Matrixelement .

Transform(Vector)

Przekształca określony wektor przez ten Matrixelement .

Transform(Vector[])

Przekształca określone wektory przez ten Matrixelement .

Translate(Double, Double)

Dołącza tłumaczenie określonych przesunięć do tej Matrix struktury.

TranslatePrepend(Double, Double)

Poprzedza tłumaczenie określonych przesunięć na tę Matrix strukturę.

Operatory

Equality(Matrix, Matrix)

Określa, czy dwie określone Matrix struktury są identyczne.

Inequality(Matrix, Matrix)

Określa, czy dwie określone Matrix struktury nie są identyczne.

Multiply(Matrix, Matrix)

Matrix Mnoży strukturę przez inną Matrix strukturę.

Jawne implementacje interfejsu

IFormattable.ToString(String, IFormatProvider)

Formatuje wartość bieżącego wystąpienia przy użyciu określonego formatu.

Dotyczy

Zobacz też