Matrix Struct

Definitie

Vertegenwoordigt een affinustransformatiematrix van 3x3 die wordt gebruikt voor transformaties in de 2D-ruimte.

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
Overname
Matrix
Kenmerken
Implementeringen

Opmerkingen

Een 3x3-matrix wordt gebruikt voor transformaties in een 2D x-y vlak. Affinetransformatiematrices kunnen worden vermenigvuldigd om een willekeurig aantal lineaire transformaties te vormen, zoals rotatie en schuine stand (schuif), gevolgd door translatie. Een affinustransformatiematrix heeft de uiteindelijke kolom gelijk aan (0, 0, 1), dus alleen de leden in de eerste twee kolommen moeten worden opgegeven. Houd er rekening mee dat vectoren worden uitgedrukt als rijvectors, niet als kolomvectoren.

Een WPF Matrix wordt opgeslagen met behulp van een rij-primaire volgorde en heeft de volgende structuur:

Kolom 1 Kolom 2 Kolom 3
M11 M12 0
M21 M22 0
OffsetX OffsetY 1

De leden in de laatste rij OffsetX en OffsetYvertegenwoordigen vertaalwaarden.

In methoden en eigenschappen wordt de transformatiematrix meestal opgegeven als een vector met slechts zes leden, als volgt:

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

Hoewel u een Matrix structuur rechtstreeks kunt gebruiken om afzonderlijke punten te vertalen, of met een MatrixTransform om objecten te transformeren, biedt WPF ook een reeks klassen waarmee u objecten kunt transformeren zonder rechtstreeks met matrices te werken: RotateTransform, ScaleTransform, SkewTransform en TranslateTransform.

XAML-kenmerkgebruik

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

XAML-waarden

m11System.Double

De waarde in de eerste rij en de eerste kolom van deze Matrix. Voor meer informatie, zie de eigenschap M11.

m12System.Double

De waarde in de eerste rij en de tweede kolom. Voor meer informatie, zie de eigenschap M12.

m21System.Double

De waarde in de tweede rij en de eerste kolom. Voor meer informatie, zie de eigenschap M21.

m22System.Double

De waarde in de tweede rij en de tweede kolom. Voor meer informatie, zie de eigenschap M22.

OffsetxSystem.Double

De waarde in de derde rij en de eerste kolom. Voor meer informatie, zie de eigenschap OffsetX.

OffsetySystem.Double

De waarde in de derde rij en de tweede kolom. Voor meer informatie, zie de eigenschap OffsetY.

Constructors

Name Description
Matrix(Double, Double, Double, Double, Double, Double)

Initialiseert een nieuw exemplaar van de Matrix structuur.

Eigenschappen

Name Description
Determinant

Haalt de determinant van deze Matrix structuur op.

HasInverse

Hiermee wordt een waarde opgehaald die aangeeft of deze Matrix structuur omkeerbaar is.

Identity

Hiermee haalt u een identiteit Matrixop.

IsIdentity

Hiermee wordt een waarde opgehaald die aangeeft of deze Matrix structuur een identiteitsmatrix is.

M11

Hiermee haalt u de waarde van de eerste rij en eerste kolom van deze structuur op of stelt u deze Matrix in.

M12

Hiermee haalt u de waarde van de eerste rij en tweede kolom van deze structuur op of stelt u deze Matrix in.

M21

Hiermee haalt u de waarde van de tweede rij en de eerste kolom van deze structuur op of stelt u deze Matrix in.

M22

Hiermee haalt u de waarde van de tweede rij en tweede kolom van deze structuur op of stelt u deze Matrix in.

OffsetX

Hiermee haalt u de waarde van de derde rij en de eerste kolom van deze structuur op of stelt u deze Matrix in.

OffsetY

Hiermee haalt u de waarde van de derde rij en tweede kolom van deze structuur op of stelt u deze Matrix in.

Methoden

Name Description
Append(Matrix)

Voegt de opgegeven Matrix structuur toe aan deze Matrix structuur.

Equals(Matrix, Matrix)

Bepaalt of de twee opgegeven Matrix structuren identiek zijn.

Equals(Matrix)

Bepaalt of de opgegeven Matrix structuur identiek is aan dit exemplaar.

Equals(Object)

Bepaalt of de opgegeven Object structuur een Matrix structuur is die identiek is aan deze Matrix.

GetHashCode()

Retourneert de hash-code voor deze Matrix structuur.

Invert()

Hiermee wordt deze Matrix structuur omgekeerd.

Multiply(Matrix, Matrix)

Vermenigvuldigt een Matrix structuur met een andere Matrix structuur.

Parse(String)

Converteert een String weergave van een matrix naar de equivalente Matrix structuur.

Prepend(Matrix)

Hiermee wordt de opgegeven Matrix structuur voorbereid op deze Matrix structuur.

Rotate(Double)

Hiermee past u een draaiing van de opgegeven hoek toe over de oorsprong van deze Matrix structuur.

RotateAt(Double, Double, Double)

Hiermee draait u deze matrix over het opgegeven punt.

RotateAtPrepend(Double, Double, Double)

Hiermee wordt een draaiing van de opgegeven hoek op het opgegeven punt naar deze Matrix structuur voorbereid.

RotatePrepend(Double)

Hiermee wordt een draaiing van de opgegeven hoek naar deze Matrix structuur voorbereid.

Scale(Double, Double)

Voegt de opgegeven schaalvector toe aan deze Matrix structuur.

ScaleAt(Double, Double, Double, Double)

Schaalt dit Matrix met de opgegeven hoeveelheid over het opgegeven punt.

ScaleAtPrepend(Double, Double, Double, Double)

Prependeert de opgegeven schaal over het opgegeven punt van dit Matrix.

ScalePrepend(Double, Double)

Prependeert de opgegeven schaalvector aan deze Matrix structuur.

SetIdentity()

Hiermee wijzigt u deze Matrix structuur in een identiteitsmatrix.

Skew(Double, Double)

Voegt een scheefheid toe van de opgegeven graden in de x- en y-dimensies aan deze Matrix structuur.

SkewPrepend(Double, Double)

Prependeert een scheefheid van de opgegeven graden in de x- en y-dimensies voor deze Matrix structuur.

ToString()

Hiermee maakt u een String weergave van deze Matrix structuur.

ToString(IFormatProvider)

Hiermee maakt u een String weergave van deze Matrix structuur met cultuurspecifieke opmaakgegevens.

Transform(Point)

Transformeert het opgegeven punt door de Matrix en retourneert het resultaat.

Transform(Point[])

Hiermee worden de opgegeven punten getransformeerd.Matrix

Transform(Vector)

Transformeert de opgegeven vector door deze Matrix.

Transform(Vector[])

Transformeert de opgegeven vectoren door deze Matrix.

Translate(Double, Double)

Hiermee voegt u een vertaling van de opgegeven offsets toe aan deze Matrix structuur.

TranslatePrepend(Double, Double)

Hiermee wordt een vertaling van de opgegeven offsets naar deze Matrix structuur voorbereid.

Operators

Name Description
Equality(Matrix, Matrix)

Bepaalt of de twee opgegeven Matrix structuren identiek zijn.

Inequality(Matrix, Matrix)

Bepaalt of de twee opgegeven Matrix structuren niet identiek zijn.

Multiply(Matrix, Matrix)

Vermenigvuldigt een Matrix structuur met een andere Matrix structuur.

Expliciete interface-implementaties

Name Description
IFormattable.ToString(String, IFormatProvider)

Hiermee wordt de waarde van het huidige exemplaar opgemaakt met behulp van de opgegeven indeling.

Van toepassing op

Zie ook