Class Matrix
Numele spaţiului: Aspose.Imaging Asamblare: Aspose.Imaging.dll (25.4.0)
Înlocuiește GDI+ Matrix.
[JsonObject(MemberSerialization.OptIn)]
public class Matrix
Inheritance
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 a fost 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 = 64
Valoarea 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 = 16
Valoarea 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 = 4
Valoarea 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 = 32
Valoarea 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 = 0
Valoarea câmpului
TypeMaskRotation
Această constantă este un pic de mască pentru oricare dintre biturile de steag de rotație.
public const int TypeMaskRotation = 24
Valoarea câmpului
TypeMaskScale
Această constantă este o mască pentru oricare dintre picăturile de steag de scară.
public const int TypeMaskScale = 6
Valoarea 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 = 8
Valoarea 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 = 1
Valoarea 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 = 2
Valoarea 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.