Class Matrix
De naam: Aspose.Imaging Verzameling: Aspose.Imaging.dll (25.4.0)
Vervangt de GDI+ matrix.
[JsonObject(MemberSerialization.OptIn)]
public class Matrix
Inheritance
Geëerbiede leden
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Remarks
De meeste algoritmen zijn genomen van Sun’s AffineTransform.java.De namen van Java voor matrixelementen worden intern gebruikt.Kaart van java namen naar .net namen om te beschrijven:M00 M11 schaal XM10 M12 schijf YM01 M21 Shear Xm11 M22 schaal Ym02 M31 Vertaling Xm12 M32 vertaling Y
Constructors
Matrix()
Het initiërt een nieuwe instantie van de Matrix-klasse als de identiteitsmatrix.
public Matrix()
Matrix(De vloot, de vloot, de vloot, de vloot)
Initialiseert een nieuwe instantie van de Aspose.Imaging.Matrix-klasse.
[JsonConstructor]
public Matrix(float m11, float m12, float m21, float m22, float m31, float m32)
Parameters
m11
float
M00 M11 schaal X
m12
float
M10 M12 schijf Y
m21
float
M01 M21 Shear X
m22
float
m11 M22 schaal Y
m31
float
m02 M31 Vertaling X
m32
float
m12 M32 vertaling Y
Matrix(RectangleF, PointF[])
Initialiseert een nieuwe instantie van de Aspose.Imaging.Matrix-klasse tot de geometrische transformatie die wordt gedefinieerd door de aangegeven rectangle en de reeks punten.
public Matrix(RectangleF rect, PointF[] plgpts)
Parameters
rect
RectangleF
Een Aspose.Imaging.RectangleF structuur die de rectangel vertegenwoordigt die moet worden omgezet.
plgpts
PointF
[]
Een reeks van drie Aspose.Imaging.PointF-structuren die de punten van een parallelogram vertegenwoordigen waartoe de bovenste links, boven rechts en onderste links hoeken van de rectangle moeten worden omgezet.
Matrix(Rectangle, punt[])
Initialiseert een nieuwe instantie van de Aspose.Imaging.Matrix-klasse tot de geometrische transformatie die wordt gedefinieerd door de aangegeven rectangle en de reeks punten.
public Matrix(Rectangle rect, Point[] plgpts)
Parameters
rect
Rectangle
Een Aspose.Imaging.Rectangle structuur die de rectangel vertegenwoordigt die moet worden omgezet.
plgpts
Point
[]
Een reeks van drie Aspose.Imaging.Point-structuren die de punten van een parallelogram vertegenwoordigen waartoe de bovenste links, boven rechts en onderste links hoeken van de rectangle moeten worden omgezet.
Matrix(Matrix)
Maak een kopie van de Aspose.Imaging.Matrix klasse.
public Matrix(Matrix origin)
Parameters
origin
Matrix
Een basismatrix voor het aanpakken
Fields
TypeFlip
Deze vlag bit geeft aan dat de transformatie gedefinieerd door dit objectuitvoert een spiegelbeeld flip over een aantal axes die denormaal rechthandig coördinatiesysteem in een linkshandigsysteem in aanvulling op de door andere vlagbits aangegeven conversies.Een rechterhandige coördinatiesysteem is een waar de positieve Xde axis draait tegentijds om de positieve Y-axis te overlijdenvergelijkbaar met de richting dat de vingers op uw rechterhandcurl wanneer je wacht eind op je doek.Een linkerhandse coördinatiesysteem is een waar de positieve Xaxis rotates met de klok om de positieve Y-axis vergelijkbaar te overlevennaar de richting die de vingers op uw linker hand curl.Er is geen wiskundige manier om de hoek van deoorspronkelijke flipping of spiegeltransformatie vanaf alle hoekenvan flip zijn identiek gezien een geschikte aanpassingsrotatie.OPMERKING: TypeFlip werd toegevoegd nadat GENERAL_TRANSFORM in het openbaar wascirculatie en de vlag bits kon niet meer comfortabel zijnhernumereren zonder in te voeren binaire incompatibiliteit naar buitenDe code.
public const int TypeFlip = 64
veldwaarde
TypeGeneralRotation
Deze vlag bit geeft aan dat de transformatie gedefinieerd door dit objecteen rotatie uitvoert door een willekeurige hoek naast deConversies aangegeven door andere vlagbits.Een rotatie verandert de hoeken van vectoren met dezelfde hoeveelheidongeacht de oorspronkelijke richting van de vector en zonderDe lengte van de vector verandert.Deze vlag is wederzijds exclusief met de
public const int TypeGeneralRotation = 16
veldwaarde
TypeGeneralScale
Een algemene schaal vermenigvuldigt de lengte van vectoren door verschillendehoeveelheden in de x en y richtingen zonder de hoek te veranderentussen de perpendiculaire vectoren.Deze vlag is wederzijds exclusief met de TypeUniformScale vlag.
public const int TypeGeneralScale = 4
veldwaarde
TypeGeneralTransform
Deze constante wijst erop dat de door dit object gedefinieerde transformatieeen willekeurige conversie van de inputcoördinaten uitvoert.Indien deze transformatie kan worden geclassificeerd door een van de bovenstaande constanten,het type zal ofwel de constante TypeIdentiteit of eencombinatie van de juiste vlagbits voor de verschillende coördinatenConversies die deze transformatie verricht.
public const int TypeGeneralTransform = 32
veldwaarde
TypeIdentity
Een identiteitstransformatie is een waarin de outputcoördinatenHet is altijd hetzelfde als de input coördinaten.Als deze transformatie iets anders is dan de identiteitstransformatie,het type zal ofwel de constante GENERAL_TRANSFORM of eencombinatie van de juiste vlagbits voor de verschillende coördinatenConversies die deze transformatie verricht.
public const int TypeIdentity = 0
veldwaarde
TypeMaskRotation
Deze constante is een beetje masker voor een van de rotatievlag bits.
public const int TypeMaskRotation = 24
veldwaarde
TypeMaskScale
Deze constante is een beetje masker voor een van de schaalvlag bits.
public const int TypeMaskScale = 6
veldwaarde
TypeQuadrantRotation
Deze vlag bit geeft aan dat de transformatie gedefinieerd door dit objectuitvoert een vierkante rotatie met een aantal meerdere van 90 graden inIn aanvulling op de door andere vlagbits aangegeven conversies.Een rotatie verandert de hoeken van vectoren met dezelfde hoeveelheidongeacht de oorspronkelijke richting van de vector en zonderDe lengte van de vector verandert.Deze vlag is wederzijds exclusief met de TypeGeneralRotation vlag.
public const int TypeQuadrantRotation = 8
veldwaarde
TypeTranslation
Een vertaling beweegt de coördinaten door een constante hoeveelheid in xen y zonder de lengte of de hoek van de vectoren te veranderen.
public const int TypeTranslation = 1
veldwaarde
TypeUniformScale
Een uniform schaal vermenigvuldigt de lengte van vectoren met dezelfde hoeveelheidin beide richtingen x en y zonder de hoek te veranderen tussenDe vectoren.Deze vlag is wederzijds exclusief met de TypeGeneralScale vlag.
public const int TypeUniformScale = 2
veldwaarde
Properties
Elements
Geeft een reeks vloeibare puntenwaarden die de elementen van dit Aspose.Imaging.Matrix vertegenwoordigen.
public float[] Elements { get; }
Eigendomswaarde
float []
M11
Geeft het matrixelement in de eerste ronde eerste kolom. Representeert de schaal langs de X-axis.
[JsonProperty]
public float M11 { get; }
Eigendomswaarde
M12
Geeft het matrixelement in de eerste ronde tweede kolom. Het vertegenwoordigt een blad langs de Y-axis.
[JsonProperty]
public float M12 { get; }
Eigendomswaarde
M21
Geeft het matrixelement in de eerste kolom van de tweede rij. Representeert het blad langs de X-axis.
[JsonProperty]
public float M21 { get; }
Eigendomswaarde
M22
Geeft het matrixelement in de tweede rij tweede kolom. Vertegenwoordigt de schaal langs de Y-axis.
[JsonProperty]
public float M22 { get; }
Eigendomswaarde
M31
Geeft het matrixelement in de derde rij eerste kolom. vertegenwoordigt vertaling langs de X-axis.
[JsonProperty]
public float M31 { get; }
Eigendomswaarde
M32
Geeft het matrixelement in de derde rij eerste kolom. vertegenwoordigt vertaling langs de Y-axis.
[JsonProperty]
public float M32 { get; }
Eigendomswaarde
Methods
Equals(Matrix en Matrix)
Het bepaalt of twee matrixen gelijk zijn.
public static bool Equals(Matrix a, Matrix b)
Parameters
a
Matrix
De eerste matrix te vergelijken.
b
Matrix
De tweede matrix te vergelijken.
Returns
Dat is waar als matrixen gelijk zijn.
Equals(Objecten)
Het bepaalt of de aangegeven System.Object gelijk is aan deze instantie.
public override bool Equals(object obj)
Parameters
obj
object
Het System.Object om te vergelijken met deze instantie.
Returns
‘waar’ als de aangegeven System.Object gelijk is aan deze instantie; anders, ‘fake’.
Exceptions
De obj’ parameter is nul.
GetElements()
Krijg de kopie van matrixelementen.
public float[] GetElements()
Returns
float []
Een matrix element kopie.
GetHashCode()
Terug een hashcode voor deze instelling.
public override int GetHashCode()
Returns
Een hashcode voor dit voorbeeld, geschikt voor gebruik in hashingalgoritmen en gegevensstructuren zoals een hash tabel.
Multiply(Matrix en MatrixOrder)
Vermenigvuldigt deze Matrix door de matrix aangegeven in de matrix parameter, en in de volgorde aangegeven in de volgorde parameter.
public void Multiply(Matrix tTx, MatrixOrder order)
Parameters
tTx
Matrix
De tx. de tx. de tx.
order
MatrixOrder
De opdracht, de opdracht, de opdracht.
Multiply(Matrix)
Vermenigvuldigt deze Matrix door de matrix die is aangegeven in de matrix parameter met behulp van (default) Prepend order.
public void Multiply(Matrix tTx)
Parameters
tTx
Matrix
De matrix te vermenigvuldigen.
Reset()
Herstelt deze matrix om de elementen van de identiteitsmatrix te hebben.
public void Reset()
Rotate(Vliegtuigen, MatrixOrder)
Gebruik een klokwijze rotatie van een hoeveelheid aangegeven in de hoekparameters, rond de oorsprong (zero x en y coördinaten) voor deze Matrix in de aangegeven volgorde.
public void Rotate(float angle, MatrixOrder order)
Parameters
angle
float
De rotatieve hoek.
order
MatrixOrder
De matrix orde.
Rotate(Vloot)
Gebruik een klokwijze rotatie van een hoeveelheid aangegeven in de hoekparameters, rond de oorsprong (zero x en y coördinaten) voor deze Matrix in de standaard (Prepend) volgorde.
public void Rotate(float angle)
Parameters
angle
float
De rotatieve hoek.
RotateAt(Float, PointF en MatrixOrder)
Gebruik een klokwijze rotatie over het aangegeven punt aan deze matrix in de aangegeven volgorde.
public void RotateAt(float angle, PointF point, MatrixOrder order)
Parameters
angle
float
De hoek.
point
PointF
Het punt.
order
MatrixOrder
De bevel.
RotateAt(De vloot, PointF)
Gebruik een klokwijze rotatie over het aangegeven punt aan deze matrix in de standaard (Prepend) volgorde.
public void RotateAt(float angle, PointF point)
Parameters
angle
float
De hoek.
point
PointF
Het punt.
Scale(vloat, vloat, matrixOrder)
Gebruik de gespecificeerde schaal vector (scaleX en scaleY) aan deze Aspose.Imaging.Matrix met behulp van de aangegeven volgorde.
public void Scale(float scaleX, float scaleY, MatrixOrder order)
Parameters
scaleX
float
De schaal X.
scaleY
float
De schaal Y.
order
MatrixOrder
De bevel.
Scale(De vloot, de vloot)
Gebruik de aangegeven schaal vector (scaleX en scaleY) aan deze matrix met behulp van (default) Prepend order.
public void Scale(float sx, float sy)
Parameters
sx
float
De sx. de sx. de sx.
sy
float
De sy. de sy. de sy. de sy.
ToString()
Terug een System.String die deze instantie vertegenwoordigt.
public override string ToString()
Returns
Een System.String die deze instantie vertegenwoordigt.
TransformPoints(puntf[])
De geometrische transformatie die door dit Aspose.Imaging.Matrix wordt vertegenwoordigd, wordt toegepast op een bepaalde reeks punten.
public void TransformPoints(PointF[] points)
Parameters
points
PointF
[]
De punten .
Translate(vloat, vloat, matrixOrder)
Gebruik de gespecificeerde vertaling vector aan deze matrix in de gespecificeerde volgorde.
public void Translate(float offsetX, float offsetY, MatrixOrder order)
Parameters
offsetX
float
De offset X.
offsetY
float
De offset Y.
order
MatrixOrder
De bevel.
Translate(De vloot, de vloot)
Gebruik de gespecificeerde vertaling vector aan deze Aspose.Imaging.Matrix met behulp van (default) Prepend bestelling.
public void Translate(float tx, float ty)
Parameters
tx
float
De tx. de tx. de tx.
ty
float
De ty. de ty. de ty.