Class Matrix
Der Name: Aspose.Imaging Versammlung: Aspose.Imaging.dll (25.4.0)
Sie ersetzen die GDI+ Matrix.
[JsonObject(MemberSerialization.OptIn)]
public class Matrix
Inheritance
Vererbte Mitglieder
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Remarks
Die meisten Algorithmen stammen von Sun’s AffineTransform.java.Java-Namen für Matrix-Elemente, die intern verwendet werden.Karte von Java-Namen zu .net-Namen zu beschreiben:M00 M11 Skala XM10 M12 Schicht YM01 M21 Schicht Xm11 M22 Skala Ym02 M31 Übersetzung Xm12 M32 Übersetzung Y
Constructors
Matrix()
Initialisiert eine neue Instanz der Matrix-Klasse als Identitätsmatrix.
public Matrix()
Matrix(Flotte, Flotte, Flotte, Flotte, Flotte)
Initialisiert eine neue Instanz der Aspose.Imaging.Matrix Klasse.
[JsonConstructor]
public Matrix(float m11, float m12, float m21, float m22, float m31, float m32)
Parameters
m11
float
M00 M11 Skala X
m12
float
M10 M12 Schicht Y
m21
float
M01 M21 Schicht X
m22
float
m11 M22 Skala Y
m31
float
m02 M31 Übersetzung X
m32
float
m12 M32 Übersetzung Y
Matrix(RectangleF und PointF[])
Initialisiert eine neue Instanz der Aspose.Imaging.Matrix Klasse zur geometrischen Transformation, die durch den angegebenen Rechteck und die Reihe von Punkten definiert wird.
public Matrix(RectangleF rect, PointF[] plgpts)
Parameters
rect
RectangleF
Eine Aspose.Imaging.RectangleF Struktur, die den Rechtangel darstellt, der transformiert werden soll.
plgpts
PointF
[][]
Eine Reihe von drei Aspose.Imaging.PointF Strukturen, die die Punkte eines Parallelogramms darstellen, zu denen die oberen linken, oberen rechten und unteren linken Ecke des Rechteckens umgewandelt werden sollen.
Matrix(Rectangle, Punkt[])
Initialisiert eine neue Instanz der Aspose.Imaging.Matrix Klasse zur geometrischen Transformation, die durch den angegebenen Rechteck und die Reihe von Punkten definiert wird.
public Matrix(Rectangle rect, Point[] plgpts)
Parameters
rect
Rectangle
Eine Aspose.Imaging.Rectangle Struktur, die den Rechtangel darstellt, der transformiert werden soll.
plgpts
Point
[][]
Eine Reihe von drei Aspose.Imaging.Point-Strukturen, die die Punkte eines Parallelogramms darstellen, zu denen die oberen linken, oberen rechten und unteren linken Ecke des Rechteckens umgewandelt werden sollen.
Matrix(Matrix)
Erstellt eine Kopie der Aspose.Imaging.Matrix Klasse.
public Matrix(Matrix origin)
Parameters
origin
Matrix
Eine Grundmatrix für die Bewältigung
Fields
TypeFlip
Diese Flaggschicht weist darauf hin, dass die von diesem Objekt definierte Transformationerledigt ein Spiegelbild über einige Achse, die dienormalerweise rechte Hand Koordinatsystem in eine linken HandSystem neben den von anderen Flagbits angegebenen Konvertierungen.Ein rechterhandes Koordinatsystem ist ein, in dem die positive XAkse dreht sich counterklockwise, um die positive Y-Axe zu überwindenähnlich der Richtung, die die Finger auf der rechten Handkurl, wenn du auf deinen thumb stehst.Ein linkshandes Koordinatsystem ist ein, in dem die positive XAxis dreht sich zeitweise, um die positive Y-Axe ähnlich zu überwindenin die Richtung, in der die Finger auf der linken Hand rutschen.Es gibt keinen mathematischen Weg, um den Winkel derursprüngliche Flipping oder Spiegeltransformation aus allen EckenFlip sind identisch, da eine angemessene Anpassungsrotation angezeigt wird.Hinweis: TypeFlip wurde hinzugefügt, nachdem GENERAL_TRANSFORM öffentlich warVerkehr und die Flagbits könnten nicht mehr bequem seinRenumeriert ohne Einführung binärer Inkompatibilität im AußenbereichDer Code.
public const int TypeFlip = 64
Feldwert
TypeGeneralRotation
Diese Flaggschicht weist darauf hin, dass die von diesem Objekt definierte TransformationDurchführen Sie eine Rotation durch einen arbiträren Winkel neben derKonvertierungen, die von anderen Flagbits angegeben werden.Eine Rotation ändert die Winkel der Vektoren mit der gleichen Mengeunabhängig von der ursprünglichen Richtung des Vektors und ohneVeränderung der Länge des Vektors.Diese Flagge ist gegenseitig exklusiv mit der
public const int TypeGeneralRotation = 16
Feldwert
TypeGeneralScale
Eine allgemeine Skala multipliziert die Länge der Vektoren durch unterschiedlicheMenge in den Richtungen x und y, ohne den Winkel zu ändernzwischen perpendikulären Vektoren.Diese Flaggschicht ist gegenseitig exklusiv mit der TypeUniformScale Flagge.
public const int TypeGeneralScale = 4
Feldwert
TypeGeneralTransform
Diese Konstante weist darauf hin, dass die durch dieses Objekt definierte TransformationDurchführen Sie eine freiwillige Umwandlung der Eingangskoordinate.Wenn diese Transformation durch eine der oben genannten Konstanzen klassifiziert werden kann,Der Typ wird entweder die konstante Typidentität oder eineKombination der entsprechenden Flagbits für die verschiedenen KoordinatenKonvertierungen, die diese Transformation durchgeführt.
public const int TypeGeneralTransform = 32
Feldwert
TypeIdentity
Eine Identitätstransformation ist eine, in der die AusgangskoordinateImmer die gleiche wie die Eintrittskoordinate.Wenn diese Transformation nichts anderes ist als die Identität Transformation,die Art wird entweder die konstante GENERAL_TRANSFORM oder eineKombination der entsprechenden Flagbits für die verschiedenen KoordinatenKonvertierungen, die diese Transformation durchgeführt.
public const int TypeIdentity = 0
Feldwert
TypeMaskRotation
Diese Konstante ist eine kleine Maske für jede der Rotation Flagbits.
public const int TypeMaskRotation = 24
Feldwert
TypeMaskScale
Diese Konstante ist eine kleine Maske für jede der Flaggschiffe der Skala.
public const int TypeMaskScale = 6
Feldwert
TypeQuadrantRotation
Diese Flaggschicht weist darauf hin, dass die von diesem Objekt definierte TransformationDurchführen Sie eine Quadrantrotation mit mehreren von 90 Grad inzusätzlich zu den von anderen Flagbits angegebenen Konvertierungen.Eine Rotation ändert die Winkel der Vektoren mit der gleichen Mengeunabhängig von der ursprünglichen Richtung des Vektors und ohneVeränderung der Länge des Vektors.Diese Flaggschicht ist gegenseitig exklusiv mit der TypeGeneralRotation-Flagge.
public const int TypeQuadrantRotation = 8
Feldwert
TypeTranslation
Eine Übersetzung bewegt die Koordinaten durch eine konstante Menge in xund y ohne die Länge oder den Winkel der Vektoren zu ändern.
public const int TypeTranslation = 1
Feldwert
TypeUniformScale
Eine einheitliche Skala multipliziert die Länge der Vektoren mit der gleichen Menge.in beiden Richtungen x und y, ohne den Winkel zwischenDie Vektoren.Diese Flaggschicht ist gegenseitig exklusiv mit der TypeGeneralScale Flagge.
public const int TypeUniformScale = 2
Feldwert
Properties
Elements
Er erhält eine Reihe von Floating-Point-Werte, die die Elemente dieses Aspose.Imaging.Matrix darstellen.
public float[] Elements { get; }
Eigentumswert
float [][]
M11
Er erhält das Matrixelement in der ersten Reihe der ersten Spalte. repräsentiert die Skala entlang der X-Axe.
[JsonProperty]
public float M11 { get; }
Eigentumswert
M12
Er erhält das Matrix-Element in der ersten Reihe zweiter Spalte. repräsentiert die Shear entlang der Y-Axe.
[JsonProperty]
public float M12 { get; }
Eigentumswert
M21
Er erhält das Matrix-Element in der zweiten Reihe der ersten Spalte. repräsentiert die Scheibe entlang der X-Axe.
[JsonProperty]
public float M21 { get; }
Eigentumswert
M22
Er bekommt das Matrixelement in der zweiten Runde zweiter Spalte. repräsentiert die Skala entlang der Y-Axe.
[JsonProperty]
public float M22 { get; }
Eigentumswert
M31
Er erhält das Matrixelement in der dritten Reihe der ersten Spalte. repräsentiert Übersetzung entlang der X-Axe.
[JsonProperty]
public float M31 { get; }
Eigentumswert
M32
Er erhält das Matrixelement in der dritten Reihe der ersten Spalte. repräsentiert Übersetzung entlang der Y-Axe.
[JsonProperty]
public float M32 { get; }
Eigentumswert
Methods
Equals(Matrix und Matrix)
Sie bestimmen, ob zwei Matrixen gleich sind.
public static bool Equals(Matrix a, Matrix b)
Parameters
a
Matrix
Die erste Matrix zu vergleichen.
b
Matrix
Die zweite Matrix zu vergleichen.
Returns
Es ist wahr, wenn die Matrixen gleich sind.
Equals(Objekt)
Es bestimmt, ob der angegebenen System.Object mit dieser Instanz gleich ist.
public override bool Equals(object obj)
Parameters
obj
object
Das System.Object zu vergleichen mit dieser Instanz.
Returns
‘rich’ wenn der angegebenen System.Object mit diesem Beispiel gleich ist; sonst ‘falsch’.
Exceptions
Der obj’ Parameter ist null.
GetElements()
Er erhält die Kopie der Matrix-Elemente.
public float[] GetElements()
Returns
float [][]
Eine Matrix-Elemente Kopie.
GetHashCode()
Wiederherstellen eines Hash-Codes für diesen Fall.
public override int GetHashCode()
Returns
Ein Hash-Code für dieses Beispiel, geeignet für die Verwendung in Hash-Algorithmen und Datenstrukturen wie eine Hash-Tabelle.
Multiply(Matrix und MatrixOrder)
Multipliziert diese Matrix durch die Matrix, die in der Matrix-Parameter angegeben ist, und in der Ordnung, die in der Ordnung-Parameter angegeben ist.
public void Multiply(Matrix tTx, MatrixOrder order)
Parameters
tTx
Matrix
Der Tsch. der Tsch. der Tsch.
order
MatrixOrder
Die Bestellung, die Bestellung, die Bestellung.
Multiply(Matrix)
Multiplizieren Sie diese Matrix durch die Matrix, die in der Matrix-Parameter angegeben wird, mit (default) Prepend Order.
public void Multiply(Matrix tTx)
Parameters
tTx
Matrix
Die Matrix zu multiplizieren.
Reset()
Wiederherstellen Sie diese Matrix, um die Elemente der Identitätsmatrix zu haben.
public void Reset()
Rotate(Flöte, MatrixOrder)
Anwenden Sie eine Uhrrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundr.
public void Rotate(float angle, MatrixOrder order)
Parameters
angle
float
Die rotative Ecke.
order
MatrixOrder
Die Matrix Ordnung.
Rotate(Flotte)
Anwenden Sie eine Uhrrunde einer in den Winkelparameter angegebenen Menge um den Ursprung (zero x und y Koordinaten) für diese Matrix in der Standardordnung (Prepend.
public void Rotate(float angle)
Parameters
angle
float
Die rotative Ecke.
RotateAt(Flöte, PointF, MatrixOrder)
Anwenden Sie eine Uhrrunde um den angegebenen Punkt auf diese Matrix in der angegebenen Reihenfolge.
public void RotateAt(float angle, PointF point, MatrixOrder order)
Parameters
angle
float
Der Winkel.
point
PointF
Der Punkt.
order
MatrixOrder
Die Bestellung.
RotateAt(Fliegen, PointF)
Anwenden Sie eine Uhrwinkel-Rotation über den angegebenen Punkt auf diese Matrix in der Standardordnung (Prepend.
public void RotateAt(float angle, PointF point)
Parameters
angle
float
Der Winkel.
point
PointF
Der Punkt.
Scale(Flotte, Flotte und MatrixOrder)
Anwenden Sie den angegebenen Skala-Vektor (scaleX und scaleY) zu diesem Aspose.Imaging.Matrix mit der angegebenen Bestellung.
public void Scale(float scaleX, float scaleY, MatrixOrder order)
Parameters
scaleX
float
Die Skala X.
scaleY
float
Die Skala Y.
order
MatrixOrder
Die Bestellung.
Scale(Flotte und Flotte)
Anwenden Sie den angegebenen Skala-Vektor (scaleX und scaleY) auf diese Matrix mit (default) Prepend-Betrieb.
public void Scale(float sx, float sy)
Parameters
sx
float
Die sx. die sx. die sx. die sx.
sy
float
Die S. Die S. Die S. Die S. Die S. Die S. Die S.
ToString()
Wiederherstellt eine System.String, die diese Instanz darstellt.
public override string ToString()
Returns
Ein System.String, der diese Instanz vertritt.
TransformPoints(Punkte[])
Anwendung der geometrischen Transformation, die durch diese Aspose.Imaging.Matrix auf eine bestimmte Reihe von Punkten dargestellt wird.
public void TransformPoints(PointF[] points)
Parameters
points
PointF
[][]
Die Punkte.
Translate(Flotte, Flotte und MatrixOrder)
Anwenden Sie den angegebenen Übersetzungsvektor auf diese Matrix in der angegebenen Reihenfolge.
public void Translate(float offsetX, float offsetY, MatrixOrder order)
Parameters
offsetX
float
Der Offset X.
offsetY
float
Der Offset Y.
order
MatrixOrder
Die Bestellung.
Translate(Flotte und Flotte)
Anwenden Sie den angegebenen Übersetzungsvektor zu diesem Aspose.Imaging.Matrix mit (default) Prepend Order.
public void Translate(float tx, float ty)
Parameters
tx
float
Der Tsch. der Tsch. der Tsch.
ty
float
Die ty. die ty. die ty.