Class Matrix
Numele spaţiului: Aspose.Imaging Asamblare: Aspose.Imaging.dll (25.5.0)
Înlocuiește GDI+ Matrix.
[JsonObject(MemberSerialization.OptIn)]
public class MatrixInheritance
Membrii moștenitori
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Remarks
Cele mai multe algoritmi sunt luate de la Sun’s AffineTransform.java.Numele Java pentru elementele matrice utilizate intern.Harta de nume Java la .net pentru a descrie:m00 M11 Scala Xm10 m12 șir Ym01 M21 Shear Xm11 M22 Scala Ym02 M31 Traducere Xm12 M32 Traducere Y
Constructors
Matrix()
Iniţializează o nouă instanţă a clasei Matrix ca matrix identităţii.
public Matrix()Matrix(float, float, float, float, float, float)
Inițializează o nouă instanță a clasei Aspose.Imaging.Matrix.
[JsonConstructor]
public Matrix(float m11, float m12, float m21, float m22, float m31, float m32)Parameters
m11 float
m00 M11 Scala X
m12 float
m10 m12 șir Y
m21 float
m01 M21 Shear X
m22 float
m11 M22 Scala Y
m31 float
m02 M31 Traducere X
m32 float
m12 M32 Traducere Y
Matrix(RectangleF și PointF[])
Inițializează o nouă instanță a clasei Aspose.Imaging.Matrix la transformarea geometrică definită de rectanglul specificat și de gama de puncte.
public Matrix(RectangleF rect, PointF[] plgpts)Parameters
rect RectangleF
O structură Aspose.Imaging.RectangleF care reprezintă rectanglul care trebuie transformat.
plgpts PointF
[]
O serie de trei structuri Aspose.Imaging.PointF care reprezintă punctele unui paralelogram la care vor fi transformate colțurile din dreapta superioară, dreaptă și din stânga jos a rectangularului.
Matrix(Târgul, punctul[])
Inițializează o nouă instanță a clasei Aspose.Imaging.Matrix la transformarea geometrică definită de rectanglul specificat și de gama de puncte.
public Matrix(Rectangle rect, Point[] plgpts)Parameters
rect Rectangle
O structură Aspose.Imaging.Rectangle care reprezintă rectanglul care trebuie transformat.
plgpts Point
[]
O serie de trei structuri Aspose.Imaging.Pointe care reprezintă punctele unui paralelogram la care vor fi transformate colțurile de sus stânga, sus dreapta și inferioară ale rectanglului.
Matrix(Matrix)
Face o copie a clasei Aspose.Imaging.Matrix.
public Matrix(Matrix origin)Parameters
origin Matrix
Matrix de bază pentru a face față
Fields
TypeFlip
Acest bit de steag indică faptul că transformarea definită de acest obiectrealizează o imagine de oglindă flip-ul asupra anumitor axe care schimbăSistemul de coordonare cu mâna dreaptă în mâna stângăSistemul în plus față de conversii indicate de alte bite de pavilion.Un sistem de coordonate cu mâna dreaptă este unul în care X-ul pozitivaxul se rotește în mod contrar orei pentru a depăși axul pozitiv Yasemănătoare cu direcția în care degetele pe mâna dreaptăcurl atunci când te uiți la capul tău.Un sistem de coordonate cu mâna stângă este unul în care X-ul pozitivaxul se rotește în mod orar pentru a depăși axul pozitiv Y similarîn direcția în care degetele de pe mâna stângă curge.Nu există nici o metodă matematică de determinare a unghiuluitransformarea originală sau a oglinzii din toate unghiurilede flip sunt identice datorită unei rotații de ajustare adecvate.NOTĂ: TypeFlip a fost adăugat după ce GENERAL_TRANSFORM era în publiccirculația și bits-ul de steag nu mai ar putea fi convenabilrenumerat fără introducerea incompatibilității binare în exteriorcodul .
public const int TypeFlip = 64Valoarea câmpului
TypeGeneralRotation
Acest bit de steag indică faptul că transformarea definită de acest obiectrealizează o rotație prin un unghi arbitrar, în plus față deConversii indicate de alte bite de pavilion.O rotație schimbă unghiile vectorilor cu aceeași cantitateindiferent de direcția inițială a vectorului și fărăSchimbarea lungimii vectorului.Această bandă este reciproc exclusivă cu
public const int TypeGeneralRotation = 16Valoarea câmpului
TypeGeneralScale
O scară generală multiplică lungimea vectorilor prin diferitecantități în direcțiile x și y fără a schimba unghiulîntre vectorii perpendiculi.Acest tip de steag este reciproc exclusiv cu steagul TypeUniformScale.
public const int TypeGeneralScale = 4Valoarea câmpului
TypeGeneralTransform
Această constantă indică faptul că transformarea definită de acest obiectefectuează o conversie arbitrară a coordonatelor de intrare.Dacă această transformare poate fi clasificată de oricare dintre constanțele de mai sus,tipul va fi fie tipul de identitate constantă sau uncombinarea bits de pavilion corespunzător pentru diferitele coordonatetransformări pe care aceste transformări le realizează.
public const int TypeGeneralTransform = 32Valoarea câmpului
TypeIdentity
O transformare a identității este una în care coordonatele de producție suntîntotdeauna la fel ca coordonatele de intrare.Dacă această transformare este altceva decât transformarea identității,tipul va fi fie constantul GENERAL_TRANSFORM sau uncombinarea bits de pavilion corespunzător pentru diferitele coordonatetransformări pe care aceste transformări le realizează.
public const int TypeIdentity = 0Valoarea câmpului
TypeMaskRotation
Această constantă este un pic de mască pentru oricare dintre biturile de steag de rotație.
public const int TypeMaskRotation = 24Valoarea câmpului
TypeMaskScale
Această constantă este o mască pentru oricare dintre picăturile de steag de scară.
public const int TypeMaskScale = 6Valoarea câmpului
TypeQuadrantRotation
Acest bit de steag indică faptul că transformarea definită de acest obiectrealizează o rotație cu quadrant cu câteva multiple de 90 de grade înîn plus față de conversionele indicate de alte bite de pavilion.O rotație schimbă unghiile vectorilor cu aceeași cantitateindiferent de direcția inițială a vectorului și fărăSchimbarea lungimii vectorului.Acest tip de steag este reciproc exclusiv cu steagul TypeGeneralRotation.
public const int TypeQuadrantRotation = 8Valoarea câmpului
TypeTranslation
O traducere mișcă coordonatele printr-o cantitate constantă în xși y fără a schimba lungimea sau unghiul vectorilor.
public const int TypeTranslation = 1Valoarea câmpului
TypeUniformScale
O scară uniformă mărește lungimea vectorilor cu aceeași cantitate.în ambele direcții x și y fără a schimba unghiul întrepentru vectori.Acest tip de steag este reciproc exclusiv cu steagul TypeGeneralScale.
public const int TypeUniformScale = 2Valoarea câmpului
Properties
Elements
Obține o serie de valori floating-point care reprezintă elementele acestui Aspose.Imaging.Matrix.
public float[] Elements { get; }Valoarea proprietății
float []
M11
Obține elementul de matrice în prima coloană. reprezintă scara de-a lungul axei X.
[JsonProperty]
public float M11 { get; }Valoarea proprietății
M12
Obține elementul de matrice în prima runda a doua coloană. Representează frunzele de-a lungul axei Y.
[JsonProperty]
public float M12 { get; }Valoarea proprietății
M21
Obține elementul de matrice în prima coloană din a doua rândă. Representează coada de-a lungul axei X.
[JsonProperty]
public float M21 { get; }Valoarea proprietății
M22
Obține elementul de matrice în a doua coloană. reprezintă scara de-a lungul axei Y.
[JsonProperty]
public float M22 { get; }Valoarea proprietății
M31
Obține elementul de matrice în prima coloană a treia rând. reprezintă traducerea de-a lungul axului X.
[JsonProperty]
public float M31 { get; }Valoarea proprietății
M32
Obține elementul de matrice în prima coloană a treia rând. reprezintă traducerea de-a lungul axei Y.
[JsonProperty]
public float M32 { get; }Valoarea proprietății
Methods
Equals(Matrix și Matrix)
Se determină dacă două matrice sunt egale.
public static bool Equals(Matrix a, Matrix b)Parameters
a Matrix
Prima matrice de comparare.
b Matrix
Cea de-a doua matrice de comparat.
Returns
Este adevărat dacă matrice sunt egale.
Equals(Obiectul)
Determine dacă Sistemul.Obiect specificat este egal cu această instanță.
public override bool Equals(object obj)Parameters
obj object
Sistemul.Obiect pentru a compara cu această instanță.
Returns
‘realitate’ dacă Sistemul.Obiectul specificat este egal cu acest caz; altfel, ‘falsa’.
Exceptions
Parametrul obj’ este zero.
GetElements()
Obțineți o copie a elementelor matrice.
public float[] GetElements()Returns
float []
O copie a elementelor matrice.
GetHashCode()
Întoarceți un cod hash pentru acest caz.
public override int GetHashCode()Returns
Un cod de hash pentru acest exemplu, potrivit pentru utilizare în algoritmi de hashing și structuri de date, cum ar fi un tabel de hash.
Multiply(Matrix și MatrixOrder)
Multiplică această matrice prin matrica specificată în parametrul matrice și în ordinea specificată în parametrul de ordine.
public void Multiply(Matrix tTx, MatrixOrder order)Parameters
tTx Matrix
Ceea ce se întâmplă cu tx.
order MatrixOrder
Ordinul – Ordinul – Ordinul
Multiply(Matrix)
Multiplică această matrice prin matrica specificată în parametrul matrice folosind (default) ordine Prepend.
public void Multiply(Matrix tTx)Parameters
tTx Matrix
Matrix pentru a se multiplica cu.
Reset()
Resetă această matrice pentru a avea elementele matricei identității.
public void Reset()Rotate(Călărași, MatrixOrder)
Aplica o rotație orală a unei cantități specificate în parametrul de unghi, în jurul originii (coordonate zero x și y) pentru această Matrix în ordinea specificată.
public void Rotate(float angle, MatrixOrder order)Parameters
angle float
Angajul rotativ.
order MatrixOrder
Ordinul Matrixului.
Rotate(float)
Aplica o rotație orală a unei cantități specificate în parametrul de unghi, în jurul originii (zero x și y coordonate) pentru această Matrix în ordinea predefinită (Prepend).
public void Rotate(float angle)Parameters
angle float
Angajul rotativ.
RotateAt(Cuvânt cheie: PointF, MatrixOrder)
Aplicați o rotație orală cu privire la punctul specificat acestei matrice în ordinea specificată.
public void RotateAt(float angle, PointF point, MatrixOrder order)Parameters
angle float
cu unghiul .
point PointF
şi punctul .
order MatrixOrder
şi ordinea .
RotateAt(Călărași, PointF)
Aplicați o rotație orală cu privire la punctul specificat acestei matrice în ordinea predefinită (Prepend).
public void RotateAt(float angle, PointF point)Parameters
angle float
cu unghiul .
point PointF
şi punctul .
Scale(în float, float, matrixOrder)
Aplicați vectorul de scară specificat (scaleX și scaleY) la acest Aspose.Imaging.Matrix folosind ordinea specificată.
public void Scale(float scaleX, float scaleY, MatrixOrder order)Parameters
scaleX float
În scara X.
scaleY float
În scară Y.
order MatrixOrder
şi ordinea .
Scale(în float, float)
Aplicați vectorul de scară specificat (scaleX și scaleY) pentru această Matrix folosind (default) ordine Prepend.
public void Scale(float sx, float sy)Parameters
sx float
SX – SX – SX – SX – SX – SX – SX – SX – SX
sy float
I. I. I. I. I. I. I. I. I. I. I.
ToString()
Întoarce un sistem.String care reprezintă această instanță.
public override string ToString()Returns
Un sistem.String care reprezintă această instanță.
TransformPoints(Punctul[])
Aplica transformarea geometrică reprezentată de acest Aspose.Imaging.Matrix la o serie specifică de puncte.
public void TransformPoints(PointF[] points)Parameters
points PointF
[]
şi punctele .
Translate(în float, float, matrixOrder)
Se aplică vectorul de traducere specificat acestei matrice în ordinea specificată.
public void Translate(float offsetX, float offsetY, MatrixOrder order)Parameters
offsetX float
Întâlnirea lui X.
offsetY float
Împărtășește Y.
order MatrixOrder
şi ordinea .
Translate(în float, float)
Aplicați vectorul de traducere specificat pentru acest Aspose.Imaging.Matrix folosind (default) comanda Prepend.
public void Translate(float tx, float ty)Parameters
tx float
Ceea ce se întâmplă cu tx.
ty float
Iată ce se întâmplă cu tine, cu tine.