Matrix Struct
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
- 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
De waarde in de eerste rij en de eerste kolom van deze Matrix. Voor meer informatie, zie de eigenschap M11.
De waarde in de eerste rij en de tweede kolom. Voor meer informatie, zie de eigenschap M12.
De waarde in de tweede rij en de eerste kolom. Voor meer informatie, zie de eigenschap M21.
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. |